このスクリプトは、実際のデータと同様の形式でデータを生成し、希望するレイアウトでグラフをプロットします。
ローカル データ フィルターで選択された複数のパラメーターが 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-Group を使用している場合は、Y 軸がリンクされていると思います。 オプションの 1 つは、スケーリングされた新しい平均列を作成して、すべてのラベルが同様の軸に適合するようにすることです (また、グラフ ビルダー スクリプトから min/max/inc を削除して、JMP が独自の軸の計算を実行できるようにします)。
@jthiありがとう。 OPで述べたように、数百の列に対してこれを行う必要があるため、実際のデータのように新しい列を作成しないことを好みます。
JMP の自動スケーリングではデータが満足に表示されなかったため、min/max (私のOPで述べたように、グラフビルダーを対話的に使用してデータを適切に表示した後、スクリプトからコピーされました)。