USL および LSL 仕様制限に基づく変動チャートの Y 軸の自動スケーリング外れ値データがある場合、チャートは常にミックスまたは最大ポイントに合わせて拡大縮小され、チャートが表示されなくなります。
JSL スクリプトを使用して、パラメータ内に既に埋め込まれているパラメータ USL および LSL 制限に基づいて変動チャートの Y 軸を動的に設定することは可能ですか? ご意見をお聞かせください。 ありがとう
Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングアラートを発生させるコードの前に列数などが正しいかどうかを確認し、問題に対処するために必要なコードを追加する必要があります。Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリング項目/列を 1 つだけ呼び出す場合に「JMP アラート」を処理するにはどうすればよいですか?
「for ループ」によりこのアラートが発生します
Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングRe: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングそうすると、グラフの表示に時間がかかるようになった気がします。
ご支援に改めて感謝申し上げます。
Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリング私には大丈夫そうに見えます。 データがわからないので、その他の改善点については正確にはわかりません。Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングこんにちは、ジムさん
たくさんのご支援ありがとうございました!
グラフの見栄えを良くするために、コードを拡張しました。
owr[i][AxisBox( 2 )] << Min( spec["LSL"] - 0.1 * (spec["USL"] - spec["LSL"]) ) <<
Max( spec["USL"] + 0.1 * (spec["USL"] - spec["LSL"]) ) << Inc( (spec["USL"] - spec["LSL"]) / 10 );
owr[i][AxisBox( 2 )] << Format( Best, 6 );
それはあなたもやりたいことですか?
それとももっとエレガントな方法があるのでしょうか?
Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリング新しいリクエストを処理するために必要な変更については、以下のスクリプトを参照してください。ほとんどの場合、リストを JMP に表現する Eval() 関数を使用して、列のリストをプラットフォーム リクエストに置き換えることができます。を参照してください。
Eval( colList )
以下のスクリプトで。
『スクリプト ガイド』の表示ツリーに関するセクションを読んだと仮定すると、表示オブジェクトに渡すことができるメッセージは、スクリプト索引の例とともに文書化されています。
ヘルプ==>スクリプトインデックス
AxisBox() のメッセージを調べると、利用可能なすべてのメッセージが表示されます。その中には Inc() があります。この軸の増分の変更は、軸の最小値と最大値を変更した後にグラフ内の値を保証するために使用されます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colList = {"NPN1", "PNP1"};
For( i = 1, i <= N Items( colList ), i++,
// Turn on Show Limits
spec = Column( dt, colList[i] ) << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
Column( dt, colList[i] ) << Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
);
// create the graphs
ow = Oneway(
Y(
eval(colList)
),
X( :site ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0 ),
Std Dev Lines( 1 ),
Legend( 0 ),
SendToReport(
Dispatch(
{"Normal Quantile Plot"},
"Oneway QuantilePlot",
FrameBox,
{Row Legend(
Corner,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
owr = ow << report;
// adjust the axes
For( i = 1, i <= N Items( owr ), i++,
spec = Column( dt, colList[i] ) << Get Property( "Spec Limits" );
(owr[i])[AxisBox( 2 )] << Min( spec["LSL"] ) << Max( spec["USL"] )
<< inc ((spec["USL"] - spec["LSL"]) / 10 );
);Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングありがとう! 出来た。
1)
スクリプトを使用して X 軸の設定を調整することも手伝っていただけますか?
LSL と USL の間に値はありません。
おそらく、意味のある Tick/Bin Increment で X 軸を自動的に調整する戦略があるのでしょうか?
2)
与えることは可能ですか列リスト= { 「NPN1」 、 「PNP1」 } ;に
ああ=一方通行(
Y (
:名前( 「NPN1」 ) 、
:名前( 「PNP1」 )
) 、 --> :Name() の代わりに、:Name()

Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリング以下は、軸を正しく指定する方法を示すスクリプトです。新たに学習する必要があるのは、表示ツリーの操作です。これについては、JMP ドキュメント ライブラリにあるスクリプト ガイドに記載されています。
ヘルプ==>JMPドキュメントライブラリ

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colList = {"NPN1","PNP1"};
For(i=1,i<=N Items(colList),i++,
// Turn on Show Limits
spec = column(dt,colList[i]) << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
column(dt, colList[i]) <<
Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ),
Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
);
// create the graphs
ow = Oneway(
Y(
:Name( "NPN1" ),
:Name( "PNP1" )
),
X( :site ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0 ),
Std Dev Lines( 1 ),
Legend( 0 ),
SendToReport(
Dispatch(
{"Normal Quantile Plot"},
"Oneway QuantilePlot",
FrameBox,
{Row Legend(
Corner,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
owr = ow << report;
// adjust the axes
For( i=1, i<= n items(owr),i++,
spec = column(dt,colList[i]) << Get Property( "Spec Limits" );
(owr[i])[AxisBox(2)] << min(spec["LSL"])<<MAX></MAX>
Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングこんにちは、
以下のこのスクリプトを変更して、グラフを LSL および USL に自動的にスケールする方法。
@マーティンデメル

Oneway(
Y(
:Name( "test1" ),
:Name( "testn" )
),
X( :Corner ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0 ),
Std Dev Lines( 1 ),
Legend( 0 ),
SendToReport(
Dispatch(
{"Normal Quantile Plot"},
"Oneway QuantilePlot",
FrameBox,
{Row Legend(
Corner,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングこんにちは、
傾向グラフにも同じソリューションを使用したいのですが、構文上の問題が発生します。
制限列名が「CENTERLINE」、「LCL_HS」、「UCL_HS」の場合、どのフィールドを変更する必要があるか誰か知っていますか?
また、列ごとに二変量グラフを作成している場合に調整が必要ですか?
ありがとう!
Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングありがとうジム。 完璧に機能します!Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリング以下は、USL と LSL を使用して最大軸と最小軸の設定を行う正確なコードを示すサンプル スクリプトです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// Turn on Show Limits
spec = dt:NPN1 << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
dt:NPN1 <<
Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ),
Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
// Build the Chart
vc = Variability Chart(
Y( :NPN1 ),
X( :lot_id ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 1 )
);
// Set the Min and Max
Report( vc )[axisbox( 1 )] << Max( spec["USL"] );
Report( vc )[axisbox( 1 )] << Min( spec["LSL"] );Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリングこんにちは、txnelson さん
アドバイスをありがとう。 しかし残念ながら、それは私が探している解決策ではありません。 軸ボックスでは、最小値と最大値を手動で入力するようユーザーに求められます。 人間の介入なしに、パラメータに埋め込まれた LSL および USL 仕様に従って、JSL が自動的にスケーリングを処理するようにしたいと考えています。
そうするオプションはありますか?
Re: USL および LSL 仕様制限に基づく変動チャート Y 軸の自動スケーリング簡単な答えは「はい」です。
ヘルプ==>スクリプトインデックス==>軸ボックス
ここでは、二変量を使用したスクリプト インデックスの例を示しますが、同じ機能が変動グラフでも利用できます。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
FitLine
);
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Max( 120 );