GObj = Graph Builder(
Size(1221, 652),
Show Control Panel(0),
Variables(X(:Date), Y(:Close_s)),
Elements(Box Plot(X, Y, Legend(5))),
Local Data Filter(Add Filter(columns(:Date, :Name), Where(:Date >= 01Jun2022), Where(:Name == "Anglo American"))),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title("Variability Plot Low Close and High values for the day"), Image Export Display(Normal)}
),
Dispatch(
{}, "Close_s",
ScaleBox// {Min( 100000 ), Max( 200000 ), Inc( 50000 ), Minor Ticks( 4 )
// Add Ref Line( 130000, "Solid", "Dark Red", "bought", 1 )}
),
Dispatch({}, "graph title", TextEditBox, {Set Text("Low, Close & High against date")})
)
);
Ich möchte abhängig vom :name-Wert im Datenfilter eine Referenzzeile hinzufügen.
Ich kann programmgesteuert eine Referenzlinie hinzufügen und die Linie bei Bedarf entfernen.Die Referenzlinie muss jedoch vom :name-Wert des Datenfilters abhängen.
Ich werde eine Referenzzeilentabelle mit einer :Name-Spalte und Referenzzeilenwerten haben, die ich verwenden kann, um den :Name-Wert im Datenfilter abzugleichen
DateValue = Date MDY(07, 12, 2022);
Report(GObj)[AxisBox(1)] << {Add Ref Line(DateValue, "Solid", "Blue", "Date Bought", 1)};
Report(GObj)[AxisBox(2)] << {Add Ref Line(130000, "Solid", "Green", "Value Bought", 1)};Hallo Jthi, danke für deine schnelle Antwort und Lösung – ich habe deine Lösungen ausprobiert und es funktioniert gut.Ich werde dies als Lösung akzeptieren.Ich werde Ihren vorgeschlagenen Filter Change Handler weiter untersuchen.Ich möchte unter bestimmten Umständen die Anzahl der Referenzlinien erhöhen.Grüße Hans
Wenn Sie über eine Referenzlinientabelle verfügen, können Sie die Referenzlinienspalte daraus als Liniendiagramm zum Graph Builder hinzufügen (verbinden oder virtuelle Verknüpfung verwenden, um Datentabellen zu kombinieren).

Beispiel als Skript:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("RefLine", Numeric, Continuous, << Set Each Value(
If(:sex == "F",
50
,
60
);
));
gb = dt << Graph Builder(
Size(542, 587),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Y(:RefLine, Position(1)), Group X(:sex)),
Elements(Points(X, Y(1), Legend(3)), Line(Y(2), Legend(7))),
Local Data Filter(Add Filter(columns(:sex), Where(:sex == "F"))),
SendToReport(
Dispatch({"Points"}, "", OutlineBox, {Close(0)}),
Dispatch({"Line"}, "", OutlineBox, {Close(0)})
)
);
Wenn dies nicht funktioniert (es gibt mehr als zwei), verwenden Sie den Filter Change Handler, um die Darstellung auszulösen. Beispiele finden Sie im Skriptindex