Guten Morgen,
Ich habe 3 Variablen auf der Y-Achse überlagert.
Ist es möglich, für jeden Bezeichner auf der X-Achse eine vertikale Linie hinzuzufügen, die das Minimum mit dem Maximum verbindet? Wir sollten die Farbe, Dicke und Transparenz der vertikalen Linie wählen können.
siehe Bild mit einem Beispiel im Kreis.
Aufrichtig 
Sie könnten versuchen, Range Error Bar zu verwenden

Oder Sie könnten ein Intervall-Balkendiagramm hinzufügen und den „mittleren“ Wert deaktivieren (dies könnte einige zusätzliche Berechnungen/Spalten erfordern).

Und dann gibt es natürlich die Skriptoption mit Grafikskript, die komplizierter ist

Hier ist ein mögliches Beispiel für eine Skriptoption
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Formula Column(Operation(Category("Aggregate"), "Minimum"), Columns(:height), Group By(:age));
dt << New Formula Column(Operation(Category("Aggregate"), "Maximum"), Columns(:height), Group By(:age));
gb = dt << Graph Builder(
Size(525, 448),
Show Control Panel(0),
Variables(
X(:age),
Y(:height),
Y(:"Maximum[height][age]"n, Position(1)),
Y(:"Minimum[height][age]"n, Position(1))
),
Elements(Points(X, Y(1), Y(2), Y(3), Legend(3), Summary Statistic("Mean")))
);
segs = Report(gb)[FrameBox(1)] << Find Segs();
ys = [];
xs = {};
For Each({seg}, segs,
If(seg << Class Name == "MarkerSeg",
ys = ys |/ (seg << get y values)`;
Insert Into(xs, seg << get x values);
)
);
For Each({{ymin, ymax, x}}, Across(V Min(ys), V Max(ys), xs[1]),
Eval(EvalExpr(
Report(gb)[FrameBox(1)] << Add Graphics Script(
"Back",
Pen Color("Purple");
Pen Size(20);
Transparency(0.2);
V Line(Expr(x), Expr(ymin), Expr(ymax));
);
));
);
Write();
Dieses „einfache“ Beispiel funktioniert nicht mit Filtern.
Und dann gibt es noch Marker Draw Expr, wo Sie die Farbe und Transparenz der Legende und die Breite des Zeichenausdrucks steuern können
Mehr anzeigen...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Formula Column(Operation(Category("Aggregate"), "Minimum"), Columns(:height), Group By(:age));
dt << New Formula Column(Operation(Category("Aggregate"), "Maximum"), Columns(:height), Group By(:age));
gb = dt << Graph Builder(
Size(746, 818),
Show Control Panel(0),
Variables(
X(:age),
Y(:height),
Y(:"Maximum[height][age]"n, Position(1)),
Y(:"Minimum[height][age]"n, Position(1))
),
Elements(
Points(X, Y(1), Y(2), Y(3), Legend(3), Summary Statistic("Mean")),
Points(X, Y(1), Legend(4), Summary Statistic("Mean"))
),
Local Data Filter(Add Filter(columns(:age), Display(:age, N Items(6)))),
SendToReport(
Dispatch({}, "400", ScaleBox,
{Legend Model(
4,
Properties(
0,
{Line Color(35), Transparency(0.2)},
Item ID("Mean(height)", 1)
)
)}
)
)
);
frame = Report(gb)[FrameBox(1)];
seg = (frame << FindSeg(Marker Seg(4)));
seg << Set Marker Draw Expr(
Function({this seg, this row, x, y, size, row state},
size = 0.1;
Rect(
x - size,
:"Maximum[height][age]"n[this row],
x + size,
:"Minimum[height][age]"n[this row],
1
);
);
);
