参考线亲爱的社区,
是否有任何脚本可用于将不同的参考线添加到多重分布图。 我有 4000 个直方图,每一个都有不同的参考价值。
非常感谢您的帮助。
谢谢回复:参考线感谢您及时的回复。
回复:参考线所有平台显示背后都有一个树结构,它允许 JSL 指向任何特定对象并向该对象传递消息。如果您转到输出显示中的任何灰色三角形,然后右键单击它,然后选择“显示树结构”,您将看到对象。您可以通过选择每个对象的偏移来引用它们。这
rbiv<SPAN class="token punctuation">[</SPAN><SPAN class="token function">j</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN>
是指向显示中的 AxisBox() 的偏移量。这个编码非常神秘。我想如果你检查下面的代码,你会发现它正在做什么,遍历 5 个直方图输出中的每一个,并在每个显示中找到第一个轴 box(),并将消息传递给添加参考线。它与神秘符号相同,但采用按名称分支到要修改的对象的形式。
//Open datatable and make report
dt = Open( "$SAMPLE_DATA/Michelson.jmp" );
Biv = dt << Distribution(
Continuous Distribution( Column( :Velocity ) ),
By( :Trial# )
);
rbiv = Biv << Report();
// Here is created a list of all by-groups and a matrix with
//means of each group to be used as a refline.
//A custom list can be used instead using the same approach
Summarize(
groups = by( :Trial# ),
reflines = Mean( :Velocity )
);
n = N Items( groups );
//Add reference lines
For( j = 1, j <= n, j++,
//rbiv[j][1][1][1][1][1][1][1][1] <<
rbiv[j][AxisBox(1)]<<
add ref line( reflines[j], solid, "Red" )
);
回复:参考线下面这行代码的作用或含义是什么?我如何知道需要多少个 [1]?我问的原因是我希望能够使用参考线函数属性中的变量添加参考线。
rbiv<SPAN class="token punctuation">[</SPAN><SPAN class="token function">j</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN>
回复:参考线<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一个类似的问题。 我有一个 proc gplot,它使用 by 语句为不同的 id 绘制 35 个不同的图表。 有没有办法在每个图中指定不同的水平参考线? 并且,是否也可以在线的顶部或底部显示该参考线的值?
谢谢
参考线我不确定“Verlauf ETA A6”是什么对象。 如果它是图形生成器对象的名称,它应该可以工作,但是如果它是数据表的名称,它就不起作用。 我认为将变量分配给图形构建器窗口更容易(如上所述
除此之外,它应该有效。 我更改了脚本以使用您的语法从单独的表中检索引用,并且它有效。
我还认为您可能需要确保正确的表是“当前数据表”。
回复:参考线它有帮助,但我仍然遇到错误,
我有 2 个不同的表格,其中一个用于图表,第二部分有日期(报告“Verlauf Eta A6”)和参考线标签(数据表“”) - 我已将格式更改为jmp 长日期编号:
for(i=1,i<=nrows(data Table ("Ereignisse")),i++, report("Verlauf ETA A6")[Axis Box(1)] << add ref line (column(data Table ("Ereignisse"),"Datum"),Solid, "Purple", column(data Table ("Ereignisse"),"Bezeichnung") ));
但日志返回以下内容(不是很有帮助)
In the following script, error marked by /*###*/ For( ::i = 1, ::i <= N Rows( Data Table( "Ereignisse" ) ), ::i++, Report( "Verlauf ETA A6" )[Axis Box( 1 )] << /*###*/ add ref line( Column( Data Table( "Ereignisse" ), "Datum" )[::i], Solid, "Purple", Column( Data Table( "Ereignisse" ), "Bezeichnung" )[::i] ) /*###*/ )
参考线这个奇怪的数字是 JMP 日期时间值的内部表示(实际上是自我一直忘记的参考日期以来的秒数......)。
VLine() 似乎没有可选的标签参数。 但是您可以在 for 循环中使用 Add ref line() 用垂直线填充图形。 使用 Summarize() 从数据表中获取标签和日期的列表和矩阵。 请参阅下面的示例脚本。
// Make example table
dt=New Table( "Test",
Add Rows( 6 ),
New Column( "Group",Nominal, Character, Set Values(
{"Group A", "Group A", "Group A", "Group B", "Group B", "Group B"})),
New Column( "Data", Numeric,
Set Values( [1, 2, 3, 2, 3, 4] )),
New Column( "Date", Numeric,
Format( "d-m-y", 12 ),
Set Values([3166214400, 3166300800, 3166387200, 3166214400, 3166300800, 3166387200])),
New Column( "Label",Nominal,Character,
Set Values( {"A", "B", "C", "A", "B", "C"} )));
// Make list of dates and labels
Summarize(dlist=by(:Date),dlist=mean(:Date));
Summarize(llist=by(:Label));
// Make graph
gb=Graph Builder(
Variables( X( :Date ), Y( :Data ), Overlay( :Group ) ),
Elements( Points( X, Y, Legend( 1 ) ) ));
//Add vertical reflines based on dates in Column date
for(i=1,i<=nrows(dlist),i++,
report(gb)[Axis Box(1)] << add ref line (dlist[i],Solid, "Purple", llist[i] ));
我希望这有帮助。
回复:参考线你好,
我有一个类似的问题,我有一个图表,在 x 轴上有一个日期(如 dmy),我想要在 a 轴上有几条垂直参考线。 今天我使用了带有 v 线的脚本,但是我得到了线,但上面没有标签。
参考线和标签的日期存储在数据表中(列日期(格式 dmy)、列标签)。 但手动调整使用数字而不是日期,例如:33962554400(我知道这是一个日期......)
Graph Builder( Size( 696, 688 ), Show Control Panel( 0 ), Variables( X( :BL, Size( 212 ) ), Y( :Name( "x" ) ), Group Y( :Name( "s_-x" ) ), Overlay( :Projektklasse_plus ) ), Elements( Points( X, Y, Legend( 6 ) ) ), SendToReport( Dispatch( {}, "BL-date", ScaleBox, {Format( "d.m.y", 10 ), Interval( "Day" ), Inc( 1 ), Add Ref Line( 3396254400, Solid, {255, 0, 0}, "Label ref line 1" ) , Rotated Labels( 1 )} ), Dispatch(.......
我的 vline 脚本是这样的:
OPR[FrameBox(1)] << add graphics script (pen color("purple"); vline(column(data Table ("CHCharge$"),"CuI") << get values));
但实际上我想要真正不同的参考线,带有标签,在不同的日期,并且带有参考线日期的数据表在这一年中越来越多的日期......
那么您能否澄清一下您的答案,如何使用数据表?
提前致谢。
回复:参考线嗨女士,
谢谢。 有用。
给你更多的力量回复:参考线这是一个示例脚本,假设所有直方图都在同一窗口内。 此处的各个参考线只是组平均值,但脚本可以轻松地适应自定义矩阵或值列表,例如从表中检索
//Open datatable and make report
dt = Open( "$SAMPLE_DATA/Michelson.jmp" );
Biv = dt << Distribution(
Continuous Distribution( Column( :Velocity ) ),
By( :Trial# )
);
rbiv = Biv << Report();
// Here is created a list of all by-groups and a matrix with
//means of each group to be used as a refline.
//A custom list can be used instead using the same approach
Summarize(
groups = by( :Trial# ),
reflines = Mean( :Velocity )
);
n = N Items( groups );
//Add reference lines
For( j = 1, j <= n, j++,
rbiv[j][1][1][1][1][1][1][1][1] <<
add ref line( reflines[j], solid, "Red" )
);