JSLによる列プロパティへの仕様制限の設定-線はプロットに表示されませんこんにちは
仕様制限(USL / LSL)をcolumnsプロパティに割り当ててから、列のプロットを作成するスクリプトがあります。
プロットに描かれた限界線を確認します。 何が起こるかというと、制限はテーブルに正しく設定されていますが、プロットには表示されていません。
スクリプトの実行後にこの列に同じプロットを手動で描画すると、行がなくなります。
列仕様プロパティウィンドウを開くと、制限が表示され、「参照線を表示」がオンになっています。
「適用」を押してからもう一度プロットした場合のみ-期待どおりにプロット上の線が表示されます。 しかし、スクリプトで動作させることはできません。
何か案が?
(JMP PRO 15を使用)


データ表グラフィックススクリプティングウィンドウズ再:JSLによる列プロパティへの仕様制限の設定-プロットに表示されていない線こんにちは@shlomi_bakish 、
JSLコードの例を教えてください。 これは、発生している問題の診断に役立つ場合があります。 それまでの間、コードのこの部分は、列の仕様制限を設定し、グラフ化のためにそれらがオンになっていることを確認する方法の例です。
//Turn on spec lines for graphs
dt = Current Data Table( ); //just a way of setting the current data table to the variable dt
<BR />dt_ColNames = dt << Get Column Names( string ); //Gets the column names from the data table
<BR />For( i = 1, i <= N Items( dt_ColNames ), i++,<BR />
spec = Column( dt, dt_ColNames[i] ) << Get Property( "Spec Limits" ); //This gets the Boolean spec property of each column
<BR />//now, for each column perform the task of assigning the spec limits<BR /> If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
Column( dt, dt_ColNames[i] ) << Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);//This whole Eval() is wrapping a Substitution(), which wraps an expression Expr(). <BR /> //The variables that will be substituted are __LSL__ and so on. The Show Limits (1) checks the box to turn on the limits as reference lines.
);
);これは、正しい方向に進むのに役立つはずです。 しかし、コードを見て、何をしているのかを理解しなければ、正確なニーズに対応するために、より具体的にすることは困難です。
お役に立てれば!、
DS
再:JSLによる列プロパティへの仕様制限の設定-プロットに表示されていない線迅速な返信ありがとうございます! 列のプロパティで仕様の制限が正しく設定されているため、コードは実際には関連性がないと想定しました。
LSLとUSLを設定し、制限(1)を表示しますが、正しく設定されていてもプロットには表示されません。
固定数の単純なコードを使用しても、同じように動作します。
Column(DATA_DT,param) << Set Property( "Spec Limits", LSL( 0.31 ),USL(0.34),Show Limits(1) );

「適用」を押してグラフを再度描画した後にのみ、線が表示されます。
再:JSLによる列プロパティへの仕様制限の設定-プロットに表示されていない線構文が少しずれているようです。仕様制限の後に{}を追加する必要があります。 以下のスクリプトを参照してください。適用を押さないとウェイトは機能せず、高さは機能します。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, "weight") << Set Property("Spec Limits", LSL(50), USL(150), Show Limits(1));
Column(dt, "height") << Set Property("Spec Limits", {LSL(50), USL(100), Show Limits(1)});
gb = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(4)), Smoother(X, Y, Legend(5)))
);再:JSLによる列プロパティへの仕様制限の設定-プロットに表示されていない線チャートが最初に表示された後、制限を適用しているようです。チャートが最初に表示されたときに制限が描画され、それ以降に制限が追加された場合は、チャートを再描画して表示する必要があります。
再:JSLによる列プロパティへの仕様制限の設定-プロットに表示されていない線ありがとう !確かに中括弧を追加すると問題が解決しました:)
理由を説明できますか