该脚本以与我的实际数据类似的格式生成数据,然后以我想要的布局绘制图表。
当在本地数据过滤器中选择多个参数时,它们会绘制在 y 轴上。 这对我很有用,因为我可以比较实际数据中相关参数的趋势。
在不使用图形构建器“页面”选项或在数据表中创建附加列的情况下,有没有办法在本地数据过滤器中选择参数时获得独立的最佳拟合/自动 y 轴比例? 我正在考虑获取显示树和过滤器更改处理程序的句柄,但确实知道如何继续。 一些帮助会很有用。
Names Default To Here(1);
clear log ();
dt = Open("$SAMPLE_DATA/Probe.jmp");
// Combine columns 1
Data Table( "Probe" ) << Combine Columns(columns( :Lot ID, :Wafer Number ), Column Name( "LotWafer" ), Delimiter( "." ));
// Combine columns 2
Data Table( "Probe" ) << Combine Columns(columns( :Die X, :Die Y ), Column Name( "[X,Y]" ), Delimiter( "," ));
// Delete columns
Data Table( "Probe" ) << Delete Columns( :Lot ID, :Wafer Number, :Die X, :Die Y );
grouped_cols = dt << get column group( "Responses" );
// Transpose data table // → Data Table( "Transpose of Probe" )
Data Table( "Probe" ) << Transpose( columns (grouped_cols), By( :LotWafer, :Process, :Start Time ),
Label( :Site ), Output Table( "Transpose of Probe" ));
close (dt, no save);
// Add column
dt = Current Data Table ();
Data Table( "Transpose of Probe" )
<< New Column("Mean", Numeric, "Continuous", Format("Best", 12 ), Formula(Mean( :"1"n, :"2"n, :"3"n, :"4"n, :"5"n )));
//Plot chart
dt = Graph Builder(
Size( 570, 458 ),
Show Control Panel( 0 ),
Y Group Edge( "Left" ),
Variables(X(:LotWafer, Order By( :Start Time, Ascending, Order Statistic( "Mean" ) )),
Y( :Mean ), Group Y(:Label, Order By( :Process, Ascending, Order Statistic( "Mean" ) )) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
Local Data Filter(Conditional, Add Filter(columns( :Label ),Where( :Label == {"30D1_7X100_IL_12V", "30D1_7X100_IL_25V"} ),
Display( :Label, Find( Set Text( "" ) ) ))),
SendToReport(Dispatch({},"Mean",ScaleBox,{ Min( -0.0000336 ), Max( 0.00004544 ), Inc( 0.00001 ),Minor Ticks( 1 )})));以交互方式使用图形生成器正确显示数据后,请注意从脚本复制的最后一行中的最小/最大值。
如果您使用 Y 组,我认为 Y 轴是链接在一起的。 一种选择可能是创建已缩放的新平均值列,以便所有标签都适合相似的轴(还从图形生成器脚本中删除最小/最大/增量,以允许 JMP 执行其自己的轴计算)。
@jthi谢谢。 正如OP中提到的,我不想在我的实际数据中创建新列,因为我需要对数百列执行此操作。
JMP 自动缩放无法令人满意地显示数据,因此我使用了最小/最大(在交互地使用图形生成器正确显示数据后从脚本复制,如我的OP中所述)。