单程我的脚本有一个要绘制的 Y 值列表。 我有一个对话框可以为单向图选择“X”和“By”列。 然后我想格式化轴设置,但它将图命名为“Y1 的单向分析”,后跟 X 轴列,例如“按晶圆”,然后是按值,例如“Lot=1234”... . 总共将是“Y1 按晶圆批次的单向分析 = 1234”
有没有办法将其放入 Dispatch 子句中,以便我可以自动执行轴格式化?
list_y = { "Y1", "Y2" };
dlg = Column Dialog( x = ColList( "X", Max Col( 1 ) ));
if(dlg["Button"] == 1,
xCol = dlg["x"];);
dlg = Column Dialog( by = ColList( "By", Max Col( 7 ) ));
if(dlg["Button"] == 1,
byCol = dlg["by"]);
OneWay( Y( Eval( list_y ) ), X( Eval( xCol ) ), By( Eval( byCol ) ),
SendToReport(
Dispatch({"Oneway Analysis of Y1"},"1",ScaleBox,{Scale( "Log" ),Format( "Scientific", 12 ),Inc( 1 ),Minor Ticks( 8 ),Show Minor Grid( 1 ),Show Major Grid ( 1 )}),
Dispatch({"Oneway Analysis of Y2"},"1",ScaleBox,{Scale( "Log" ),Format( "Scientific", 12 ),Inc( 1 ),Minor Ticks( 8 ),Show Minor Grid( 1 ),Show Major Grid ( 1 )})
));回复:单向如果您不介意所有绘图(和数据表)的每列都使用相同的格式,您可能会发现将格式作为数据表中列属性的一部分应用会更容易。
回复:单向您还可以使用 xpath 检查大纲框的标题,以确定正在绘制哪个响应,然后有条件地设置相应响应的轴设置。 这会变得非常棘手,有 20-40 个潜在的响应。回复:单向谢谢! 这是我不知道的一些非常酷的功能。
在我的代码中,我有 20-40 列要在 y 列表中绘制,并且它们有不同的 y 轴格式需求。 您的解决方案非常适合更新所有相同的格式,以下方法是否适合单个图的特定格式?
回复:单向使用 xpath 选择所有 Oneway 对象,然后立即向所有对象发送 Dispatch 消息。我没有您的数据,但它在示例数据库中的 Big Class 数据上运行得非常好,即使您有 By 变量也是如此。这*应该*可以直接工作:
list_y = {"Y1", "Y2"};
dlg = Column Dialog( x = ColList( "X", Max Col( 1 ) ) );
If( dlg["Button"] == 1,
xCol = dlg["x"]
);
dlg = Column Dialog( by = ColList( "By", Max Col( 7 ) ) );
If( dlg["Button"] == 1,
byCol = dlg["by"]
);
//Name the oneway analysis object 'tmp'
tmp = OneWay( Y( Eval( list_y ) ), X( Eval( xCol ) ), By( Eval( byCol ) ) );
//get the window containing the one-way analysis
win = tmp << report;
//Select all the oneway objects and alter all the y-axes
(win << xpath( "//OutlineBox[@helpKey='Oneway Report']" )) << Dispatch(
{},
"1",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Inc( 1 ), Minor Ticks( 8 ), Show Minor Grid( 1 ), Show Major Grid( 1 )}
);
这是 Big Class 的另一个例子:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
win = (dt << Oneway( Y( {:height, :weight} ), X( :age ), By(:Sex) )) << Report;
(win << xpath( "//OutlineBox[@helpKey='Oneway Report']" )) << Dispatch(
{},
"1",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Inc( 1 ), Minor Ticks( 8 ), Show Minor Grid( 1 ), Show Major Grid( 1 )}
);