如何从数据表中获取值并使用 for 循环绘制变量图表您好,我是 JMP 脚本的新手。 我有一个包含几列的数据表(测试 data.jmp)作为示例,我手动绘制变量图表并手动添加参考线,然后从保存脚本菜单中获取脚本。 在这里我绘制了 3 列。 我有将近 50 列要绘制。 每个图中的唯一区别是 Y 轴和参考线位置。 我试图弄清楚如何从另一个数据表 (spec limits.jmp) 中提取这些数据,然后与 For 循环合并并绘制变量图表。我附上了测试数据、规格限制数据和我正在使用的脚本。我能得到一些帮助吗?
回复:如何从数据表中获取值并使用 for 循环绘制变量图表main = open( ); //Open test data
//open();
//main = current data table();
parameter_dt = Open( );
dt = Current Data Table();
Param_List = Column( parameter_dt, "Process") << Get Values;
LSL_spec = Column( parameter_dt, "LSL") << Get Values;
USL_spec = Column( parameter_dt, "USL") << Get Values;
LCL_spec = Column( parameter_dt, "LCL") << Get Values;
UCL_spec = Column( parameter_dt, "UCL") << Get Values;
Median_spec = Column( parameter_dt, "Median") << Get Values;
Yinc_spec = Column( parameter_dt, "Yinc") << Get Values;
Ymax_spec = Column( parameter_dt, "Ymax") << Get Values;
Ymin_spec = Column( parameter_dt, "Ymin") << Get Values;
nw = New Window( "test data", container = V List Box() );
For ( i=1, i<=N items(Param_List), i++,
content = V List Box(
Eval(
Substitute(
Expr(
main << Variability Chart(
Y( __ParamList__ ),
X( :Test date ),
Show Range Bars( 0 ),
Show Cell Means( 0 ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch(
{__VarChart__},
"2",
ScaleBox,
{Min( Ymin_spec[i] ), Max( Ymax_spec[i] ), Inc( Yinc_spec[i] ), Minor Ticks( 1 ),
Add Ref Line( 0, "Dotted", "Medium Light Gray", "", 1 ),
Add Ref Line( LSL_spec[i], "Solid", "Black", "LSL", 1 ),
Add Ref Line( USL_spec[i], "Solid", "Black", "USL", 1 ),
Add Ref Line( LCL_spec[i], "Solid", "Magenta", "LCL", 1 ),
Add Ref Line( UCL_spec[i], "Solid", "Magenta", "UCL", 1 ),
Add Ref Line( Median_spec[i], "Solid", "Magenta", "Median", 1 )}
)
)
)
),
Expr(__ParamList__), Parse( ":" || Char(Param_List[i])),
Expr(__VarChart__), "Variability Chart for " || Char( Param_List[i])
)
);
);
container << Append(content)
);嗨,吉姆,
我按照你的脚本,发现了一些其他帖子并解决了我的问题。 这是我终于拥有的剧本。
谢谢你的帮助
回复:如何从数据表中获取值并使用 for 循环绘制变量图表感谢您的回复。 你给(帮助)的是绘制一张图表。 我有一个超过 50 列的数据表,如果我绘制一个变量图表并手动添加参考线,调整 Y 最小值和 Y 最大值,然后转换为脚本,就可以了。 我在想我是否有另一个包含所有规格的数据表,如 UCL、LCL、中位数、Ymax 等。 如何从该规范数据表中获取数据并添加每个值(如数组),然后将这些值合并到图中。
回复:如何从数据表中获取值并使用 for 循环绘制变量图表搜索社区讨论会找到几个条目,这些条目涵盖了您提出的问题。但是,了解您是 JMP 的新手,下面是一个完整的脚本,应该可以满足您的需求
main << Variability Chart(
Y( :C ),
X( :Test date ),
Show Range Bars( 0 ),
Show Cell Means( 0 ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch(
{"Variability Chart for C"},
"2",
ScaleBox,
{Min( 0.1 ), Max( 0.106 ), Inc( 0.001 ), Minor Ticks( 1 ),
Add Ref Line( 0, "Dotted", "Medium Light Gray", "", 1 ),
Add Ref Line( 665, "Solid", "Black", "LSL", 1 ),
Add Ref Line( 685, "Solid", "Black", "USL", 1 ),
Add Ref Line( 670, "Solid", "Magenta", "LCL", 1 ),
Add Ref Line( 680, "Solid", "Magenta", "UCL", 1 ),
Add Ref Line( 675, "Solid", "Magenta", "Median", 1 )}
)
)
)