你好,
我正在编写一个非常简单的脚本来使用 Control Graph Builder。
运行下面的脚本后,我将在两个不同的窗口中弹出 2 个图表。
示例如下:
Control Chart Builder(
Size( 903, 464 ),
Show Control Panel( 0 ),
Variables(
Subgroup( :Name( "MoveOutTime" ) ),
Y( :Current1 )
),
Chart(
Position( 1 ),
Points( Individual Points( 1 ) ),
Limits( Sigma( "Moving Range" ), Zones( 1 ) ),
Warnings( Test Beyond Limits( 1 ) ),
Add Spec Limits( {LSL( 2.3 )} )
),
Chart(
Position( 2 ),
Points( Statistic( "Moving Range on Means" ), Individual Points( 1 ) ),
Limits( Sigma( "Moving Range" ), Zones( 1 ) ),
Warnings( Test Beyond Limits( 1 ) )
),
SendToReport(
Dispatch(
{},
"MoveOutTime",
ScaleBox,
{Min( -0.5 ), Max( 528.5 ), Interval( "Numeric" ), Inc( 0.5 ),
Minor Ticks( 0 )}
),
Dispatch(
{},
"Current1",
ScaleBox,
{Add Ref Line( 2.3, "Solid", "Blue", "LSL", 1 )}
),
Dispatch(
{},
"Current1 Limit Summaries",
OutlineBox,
{OutlineCloseOrientation( "Vertical" )}
)
)
);
Control Chart Builder(
Size( 903, 464 ),
Show Control Panel( 0 ),
Variables(
Subgroup( :Name( "MoveOutTime" ) ),
Y( :Current2 )
),
Chart(
Position( 1 ),
Points( Individual Points( 1 ) ),
Limits( Sigma( "Moving Range" ), Zones( 1 ) ),
Warnings( Test Beyond Limits( 1 ) ),
Add Spec Limits( {LSL( 3.1 )} )
),
Chart(
Position( 2 ),
Points( Statistic( "Moving Range on Means" ), Individual Points( 1 ) ),
Limits( Sigma( "Moving Range" ), Zones( 1 ) ),
Warnings( Test Beyond Limits( 1 ) )
),
SendToReport(
Dispatch(
{},
"MoveOutTime",
ScaleBox,
{Min( -0.5 ), Max( 528.5 ), Interval( "Numeric" ), Inc( 0.5 ),
Minor Ticks( 0 )}
),
Dispatch(
{},
"Current2",
ScaleBox,
{Add Ref Line( 3.1, "Solid", "Blue", "LSL", 1 )}
),
Dispatch(
{},
"Current2 Limit Summaries",
OutlineBox,
{OutlineCloseOrientation( "Vertical" )}
)
)
);
(1) 如何将这两个图放在一起,以便它们可以一起出现在 JMP 日志中?
(2) 如果我有多个当前参数,我该怎么办 - 我应该如何循环所有这些参数,以便最终它们会出现在 JMP 日志的同一窗口中?
预先感谢您的建议。
@马克贝利的方法是可靠的。
我刚刚发了一个博客它使用了这个想法并将一些更大的图形示例组装成一个“仪表板”
1.我能想到几种方法。
- 发送<< 期刊消息到每个单独的平台。
- 将两个响应都放在是启动代码的作用。
- 将上面的单独启动代码放在新窗口(“图表”,ccb1,ccb2)用作参数。
2.我没有测试过这段代码,但总体思路是分解固定部分(例如,建行表达式在这种情况下)和可变部分(例如,参数在这种情况下)。 使用表达式生成最终代码,然后对其求值。
Names Default to Here( 1 );
column = List( /* a list of columns to chart */ );
ccb expr = Expr( Control Chart Builder( /* all arguments except for Y() */ ) );
y arg = Expr( Y() );
For( col = 1, col <= N Items( columns ), col++,
Insert Into( y arg, Column( column[col] ) );
);
Eval(
Insert( ccb expr, Name Expr)( y arg )
);