价值订单
我想更改 X 分组的顺序,我可以使用 GUI 中的值顺序功能来实现,但我无法使用 JSL 实现。请问访问所有 X 分组参数并操作其顺序的正确方法是什么?
这些不同的方框分别代表什么意思?例如:axis_boxes、scale_boxes、Frame_boxes 等?
自动化和脚本编写回复:价值订单我尝试了以下代码,但没有成功。
Try(
axis_box = gb_report[AxisBox(1)];
axis_box << Set Property("Value Order", {"Continuity_VDD", "Continuity_GND"});
,
// If that doesn't work, use XPath
axis_boxes = gb_report << XPath("//AxisBox");
If(N Items(axis_boxes) > 0,
axis_boxes[1] << Set Property("Value Order", {"Continuity_VDD", "Continuity_GND"});
);
);
回复:价值订单值顺序是列属性,因此请将该消息发送到列,而不是坐标轴。
回复:价值订单我也试过了,但是图表上没有任何变化。
Column(dt,"TestNameReference")<< Set Property("Value Order", {"Continuity_VDD", "Continuity_GND"});
dt<
<SAVE></SAVE>
回复:价值订单手动执行该操作,并从日志中复制生成的代码。根据需要进行编辑。
dt:TestNameReference << Set Property(
"Value Order",
{Custom Order( {"Continuity_VDD", "Continuity_GND"} )}
);
回复:价值订单我注意到,即使我手动更改数据表中的值顺序,然后再用我的 JSL 脚本绘制图表,值顺序也不会应用到图表上。
只能在图表生成后,直接在图形生成器 GUI 中修改值顺序。
回复:价值订单我无法重现您的问题。我已经设置了 `:TestNameReference` 的值顺序,并且在创建图表时它会自动正确排序。您能否分享一下您用于创建图表的脚本?您使用的是哪个 JMP 版本?

回复:价值订单这是一个在绘制图形后设置值顺序的工作示例。

names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables( X( :age ), Y( :height ), Group X( :sex ), Color( :age ) ),
Elements( Box Plot( X, Y, Legend( 5 ) ) )
);
dt:sex << set property("value order", {Custom Order( {"M", "F"} )});
回复:价值订单我尝试了完全相同的命令,但最终的图表没有任何变化,以下是我的代码。
Simple_Plot = Function({dt, file_name},
plot_filename = Munger(file_name, Length(file_name) - 3,4, "_plot.png") ;
plot_path = ::plots_output_path || plot_filename;
plot_title = Munger(file_name, Length(file_name)-3,4,"");
gb_obj = dt << Graph Builder(
Title(plot_title),
Show Window(1),
Size(::SizeX, ::SizeY),
Show Control Panel(0),
Variables(
Y( :Data ),
Group X( :TestNameReference ),
Group X( :TestTemperature ),
Overlay(:WaferNumber)
),
Elements(
Box Plot( Y, Legend( 1 ) ), // Legend is optional but helpful
Caption Box(Y, Legend( 2 ), Summary Statistic( "Mean" ), Location( "Top" ) ),
Caption Box(Y, Legend( 3 ), Summary Statistic( "Std Dev" ), Location( "Bottom" ) )
)
);
gb_report = gb_obj << Report;
gb_report << Prepend(Outline Box(plot_title), Spacer Box(Size(::TitleSize1, ::TitleSize2)));
gb_obj << Bring Window To Front;
dt << Select All Rows;
//Throw();
gb_obj << Save Picture( plot_path, "png" );
Print(" Plot saved: " || plot_filename);
Close(gb_obj, no save);
);
If (Contains (file_name, "Continuity_Test" ),
Print("Generating plot for: " || file_name);
//Column(dt,"TestNameReference") << Set Property("Value Ordering", "Custom");
Column(dt,"TestNameReference")<< Set Property("Value Order", {Custome Order({"Continuity_VDD", "Continuity_GND"})});
dt<
<SAVE></SAVE>
回复:价值订单会不会只是这个拼写错误?{Custome Order(.... 应该改为 {Custom Order(.... )
If (Contains (file_name, "Continuity_Test" ),
Print("Generating plot for: " || file_name);
//Column(dt,"TestNameReference") << Set Property("Value Ordering", "Custom");
Column(dt,"TestNameReference")<< Set Property("Value Order", {Custome Order({"Continuity_VDD", "Continuity_GND"})});
dt<
<SAVE></SAVE>
回复:价值订单dt:sex << set property("value order 在 ", {"M", "F"} );
这项工作可以作为明确拼写自定义订单的替代方案。
我不明白为什么省略“ing”使得dt:sex << set property("value order", {"M", "F"} );会失败,尽管 JMP 的文档中是这样规定的。