如何使用图形生成器中的页面选项在每一页上设置参考线?以下脚本使用图形生成器中的页面选项绘制了一些图表?如何为每个图表设置一条水平参考线,例如重量 = 80Kg,并使用 JSL 将其标记为 (80kg)?
(即使绘制的图表数量发生变化,我也需要参考线保持不变)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 2954),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(Points(X, Y, Legend(15)), Smoother(X, Y, Legend(16)))
);自动化和脚本视窗回复:如何使用图形生成器中的页面选项在每一页上设置参考线?Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 2954),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(Points(X, Y, Legend(15)), Smoother(X, Y, Legend(16)))
);
axis = gb << XPath( "//AxisBox" );
Summarize( page = By( :age ) );
axis[2::(2*NItems( page ))::2] << Add Ref Line( 80, "Solid", "Red", "Reference" );回复:如何使用图形生成器中的页面选项在每一页上设置参考线?如果我在绘图后调用 Age 上的本地数据过滤器, @Mark_Bailey将停止为我工作(JMP 16.2),如下所示

回复:如何使用图形生成器中的页面选项在每一页上设置参考线?最简单的方法是向数据表添加新列,每行的值相同,然后将其添加到图表中。这将与过滤器一起使用
回复:如何使用图形生成器中的页面选项在每一页上设置参考线?@jthi您的建议很好,但我希望线条标签位于右侧。有没有办法更改线条标签的位置?
回复:如何使用图形生成器中的页面选项在每一页上设置参考线?我不记得 JMP16 中有哪些选项可用,因为我现在主要使用 JMP18(混合使用一些 JMP17)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Ref", Numeric, Continuous, Set Each Value(80));
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Y(:Ref, Position(1)), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16)),
Line(Y(2), Legend(17))
),
Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 15}),
Display(:age, N Items(6))
)
),
SendToReport(
Dispatch({}, "400", ScaleBox,
{Legend Model(
17,
Level Name(0, "Ref", Item ID("Mean(Ref)", 1)),
Properties(
0,
{Line Label Properties(
{Name Label(1), Name Label Position("Last")}
)},
Item ID("Mean(Ref)", 1)
)
)}
)
)
);
Write();

回复:如何使用图形生成器中的页面选项在每一页上设置参考线?不需要改变数据表。
通过复制轴设置
Link Page Axes( "Y Only" )
也复制参考线。
例如
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Link Page Axes( "Y Only" ),
Variables( X( :height ), Y( :weight ), Page( :sex ), Overlay( :sex ) ),
Elements( Points( X, Y), Smoother( X, Y) ),
SendToReport(
Dispatch( {}, "weight", ScaleBox,
{Add Ref Line( 100, "Solid", "Black", "", 1 )}
)
)
);

回复:如何使用图形生成器中的页面选项在每一页上设置参考线?这也是一种选择,但您确实会失去 Page 的一个好处:不同的“页面”具有不同的轴缩放比例。这可能不是问题,甚至可能是一种好处。
回复:如何使用图形生成器中的页面选项在每一页上设置参考线?@jthi谢谢。
Name Label Position("Last")在 JMP 16.2 中似乎不可用/不起作用。
@hogi我选择页面选项的原因是为了获得不同的 y 轴缩放比例。我相信还有其他方法可以做到这一点,但页面选项似乎最简单。
回复:如何使用图形生成器中的页面选项在每一页上设置参考线?然后你可能不得不回到 Mark 的解决方案并使用过滤器更改处理程序。同样不知道 JMP16 使用此选项有什么限制
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16))
),
Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 15}),
Display(:age, N Items(6))
)
)
);
add_reflines = EvalExpr(
axis = Expr(gb) << XPath("//AxisBox");
axis[2::N Items(axis)::2] << Add Ref Line(80, "Solid", "Red", "Reference", 1, 1, Label Settings({Opposite Axis(1)}));
);
f = Function({a}, add_reflines);
ldf = (Report(gb) << top parent)[OutlineBox("Local Data Filter")] << Get Scriptable Object;
rs = ldf << Make Filter Change Handler(f);
add_reflines;
Write();
这不是最强大的选项,但它相当简单。
回复:如何使用图形生成器中的页面选项在每一页上设置参考线?图形脚本可能是一种选择
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16))
)
);
(Report(gb) << XPath("//FrameBox")) << Add Graphics Script(
Pen Color("Red");
Text Color("red");
Text(Right Justified, {X Origin() + X Range(), 80}, "Reference");
H Line(80);
);
gb << Local Data Filter(
Add Filter(
columns(:age),
Display(:age, N Items(6))
)
);
Write();