我可以在图形生成器中将“Group 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);
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 )));
dt = Graph Builder(
Size( 570, 458 ),
Show Control Panel( 0 ),
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 组部分说“按流程排序的标签”)。 当我在本地数据过滤器上选择更多标签(有条件)时,我希望相应地填充 Group Y 和 Y。
更好的方法是将测量参数“标签”放在左侧“Y”轴上,而“过程”名称位于“Y 组”中,并且它们需要响应我在本地数据过滤器上的选择。
在JSL中如何实现这一点?
自动化和脚本编写数据探索和可视化视窗回复:我可以在图形生成器中将“Group Y”中的元素获取到“Y”吗?您可以隐藏群组标题

从图形生成器脚本中删除最小值/最大值可能是一个好主意,以允许 Y 轴按需要缩放
回复:我可以在图形生成器中将“Group Y”中的元素获取到“Y”吗?@jthi 。 脚本的图形生成器部分是在使用图形生成器交互地进行布局后生成的。 因此最小/最大。
我不需要隐藏组标题。 我希望它分别显示为“新”和“旧”(代替按流程排序)。 如何在 JSL 中执行此操作?
回复:我可以在图形生成器中将“Group Y”中的元素获取到“Y”吗?将进程拖放到此位置

回复:我可以在图形生成器中将“Group Y”中的元素获取到“Y”吗?好主意,使用数据过滤器作为列切换器并建模类型多重响应:)
要将 Y 组标签移至左侧,请右键单击 Y 组并选择 Y 组边缘/左侧:

要按流程对条目进行排序,顺序列必须是数字。
可以将 Process 标签放在上面吗?
或者,您可以使用不同的颜色来区分旧值和新值。

:Process << Set Property( "Value Order", {Custom Order( {"Old", "New"} )} );
New Column( "Process2", Set Each Value(If(:Process=="Old",1,2)) );
Graph Builder(
Show Y Axis Title( 0 ),
Y Group Edge( "Left" ),
Variables(
X( :LotWafer, Order By( :Start Time, Ascending, Order Statistic( "Mean" ) ) ),
Y( :Mean ),
Group X( :Process ),
Group Y(
:Label,
Order By( :Process 2, Ascending, Order Statistic( "Mean" ) ),
Show Title( 0 )
),
Overlay( :Process )
),
Elements( Points( X, Y, Legend( 23 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :Label ),
Where( :Label == {"30D1_7X100_IL_12V", "30D2_7X20_BDV"} ),
Display( :Label, N Items( 15 ), Find( Set Text( "" ) ) )
)
)
)
回复:我可以在图形生成器中将“Group Y”中的元素获取到“Y”吗?替代方法,与标准。 BigClass(性别=过程):
创建一个附加“_process”的新标签
也许是一个额外的子图作为“过程”的指标

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
dtStacked = dt << Stack(
columns( :height, :weight ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Untitled 3.jmp" )
);
dtStacked << New Column( "myLabel",Character,Formula( :Label || "_" || :sex ));
dtStacked << Graph Builder(
Size( 494, 335 ),
Show Control Panel( 0 ),
Show Y Axis Title( 0 ),
Set α Level( 0.01 ),
Y Group Edge( "Left" ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :name ),
X( :sex ),
Y( :Data ),
Group Y( :myLabel ),
Overlay( :sex ),
Color( :sex )
),
Relative Sizes( "X", [240 56] ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 37 ) ) ),
Elements( Position( 2, 1 ), Heatmap( X, Legend( 31 ) ) ),
Local Data Filter( Add Filter( columns( :Label ), Where( :Label == "weight" ) ) )
)