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")})
)
);
データフィルターの:name値に応じて参照行を追加したいと考えています。
プログラムで参照線を追加し、必要に応じて線を削除できます。ただし、参照行はデータ フィルターの :name 値に依存する必要があります。
データ フィルターの :Name 値と一致させるために使用できる :Name 列と参照線の値を含む参照線テーブルを用意します。
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)};こんにちは、Jthi さん、素早い対応と解決策をありがとうございます。解決策を試してみましたが、うまくいきました。これを解決策として受け入れます。ご提案いただいたフィルター変更ハンドラーをさらに調査してみます。特定の状況下で基準線の数を増やしたい。よろしくハンス
基準線テーブルがある場合は、そこから基準線列をグラフ ビルダーに線プロットとして追加できます (結合または仮想結合を使用してデータ テーブルを結合します)。

スクリプトとしての例:
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)})
)
);
これがうまくいかない場合は、フィルター変更ハンドラーを使用してプロットをトリガーする方法もあります (2 つ以上あります)。 例については、「スクリプト索引」を参照してください。