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 值。
我将有一个参考线表,其中包含:名称列和参考线值,我可以使用它们来匹配数据过滤器中的:名称值
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)})
)
);
如果这不起作用,其他(有两个以上)将使用过滤器更改处理程序来触发绘图。 有关示例,请参阅脚本索引