JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスやあみんな、
このように機能するスクリプトを作成しようとしています:
1. 新しいウィンドウが開き、「プロットしたいパラメータを選択してください」と各パラメータのチェックボックスが付いたパラメータのリストが表示されます。オペレータは、プロットしたいパラメータにチェックを入れて選択します。
2. 次に、チェックが入っているものについて、対応する変数を含むグラフ ビルダーを開きます。
現在、最初のステップ (新しいウィンドウとチェック ボックスのあるリスト) を作成することができ、グラフを作成するスクリプトの作成方法はわかっていますが、それらの間のリンクを見逃しています...私は当初、各チェックボックスを個別に呼び出してから、「cb1がチェックされている場合はグラフを実行し、そうでない場合はcb2がチェックされている場合など...」のような「if」を連続して実行することを考えていました。 次のスクリプトをトレーニングしようとしましたが、ボックスにチェックを入れたかどうかに関係なく、最後には常に「失敗」と表示されるため、実際にはボックスにチェックが入っていません。
Names Default To Here( 1 );
New Window( "Choose the parameters to be plotted",
cb1 = Check Box ("Parameter 1",0),
cb2 = Check Box ("Parameter 2",0)
);
wait(5);
If (cb1 == 1,
Graph Builder(
Variables(
X( :Name( "Process duration" ) ),
Y( :Name( "Parameter 1" ) ) ) ),
New Window( "Failed"));それを行う方法はありますか?
@マーティンデメル
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスそのために残念。 その間、私もマークに敬意を表しました。Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスマークに敬意を表します:)Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスMartin さん、この役に立つスクリプトをありがとう。Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスこのソリューションをテストしたところ、完璧に機能しました、ありがとう!!Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックス例:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dialog = Column Dialog(
col = Col List( "X, Factor", Min Col( 1 ), Max Col( 1 ) )
);
If( dialog["Button"] == -1, Throw( "User cancelled" ) );
Remove From( dialog );
Eval List( dialog );
x = col[1];
dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( x ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスよくわかりません
列ダイアログを使用してオペレーターに列を選択するよう求める意味はわかりましたが、その後の自動グラフ構築とリンクする方法がわかりません。Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスわかりました、理にかなっています。 この場合でも列ダイアログを使用することはできますが、正しい変数名が使用されるようにスクリプトを少し調整する必要があります。 優れた点は、スクリプト内で使用したい自己定義の変数名を使用し、テーブル変数名への依存関係を取り除くことができることです。 if_else 構造を使用することもできますが、:age の代わりに独自の名前を使用できるため、スクリプトがより汎用的になり、通常はより堅牢になります。Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックス私が使用したChoose()メソッドはラジオボックスには適していますが、チェックボックス入力の場合にはあまり役に立ちません。ステートメントの1つしか実行できません。
次のようなことを試してください:
If(cb<<GET></GET>
CheckBox<
http://www.jmp.com/support/help/en/15.1/#page/jmp/display-functions.shtml#ww2548850
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスこんにちは、マーティンさん
実際、全体像については触れませんでした。すべてのグラフを 1 つずつ構築し、ジャーナルに保存してグラフ ビルダーを閉じるスクリプトがすでにあります。 したがって、このスクリプトの最後には、すべてのグラフを記載した日記が作成されます。
ここで、このグラフに変数の選択という最初のステップを追加したいと思います。 したがって、オペレーターが必要なものを選択し、選択したすべての変数に対して 2 番目のスクリプト グラフ ビルダー -> Journal を適用する必要があります。
それは理にかなっていますか?
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックス正確に必要なものではないかもしれませんが、選択した変数ごとにグラフを作成したい場合は、オペレーターが X および Y ロールでプロットしたい変数を選択し、これをプロットできるように列ダイアログを検討するとよいでしょう。選択された各変数:
https://www.jmp.com/support/help/en/15.1/?os=win&source=application#page/jmp/construct-a-column-dialog.shtml#
Names Default to Here(1);
dt = Open("$SAMPLE_DATA/Tablet Production.jmp", Invisible);
cdb = Column Dialog("Add continuous variables you want to plot against Dissolution" ,
colxx = ColList( "X", Min Col( 1 ), Modeling Type( "Continuous" ) ),
);
show(cdb);
Eval List(cdb[1::N Items(cdb)-1]);
Graph Builder(
Size( 526, 454 ),
Show Control Panel( 0 ),
Variables( X( colxx[1] ), Y( :Dissolution )),
Elements( Points( X, Y, Legend( 3 ) ), Line Of Fit( X, Y, Legend( 5 ) ) ),
Column Switcher( colxx[1], colxx )
);
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスあなたの例ではラジオボックスをチェックボックスに変更しようとしましたが、複数のボックスが選択されている場合でも、再び単一のグラフのみが実行されます(実際には高さに対して機能せず、理由はわかりません)... このスクリプトにはまだ何かが欠けていると思います。
Names Default To Here( 1 );
dt=Open("$SAMPLE_DATA/Big Class.jmp");
rc = New Window("Choose the parameters to be plotted",
cb = Check box ({"weight", "height", "sex"}),
Button Box("Ok",
Choose(cb<<GET></GET>
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスその場合は、そのままにしておいてもいいでしょうチェックボックス()元々使用していたものが表示されます - 両方の項目がチェックされていない場合(またはどちらの項目もチェックされていない場合)、入力がどのように使用されるのか、例からは明確ではありませんでした。RadioBox は、応答が 1 つだけ必要な場合に便利なコントロールですが、いずれの入力メソッドも、次のような任意のコントロールのセットで使用できます。 TextEditBox()文字列入力の場合、またはNumberEditBox()数値入力用。
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスそれは期待できそうです、本当にありがとう!! ただし、あなたが提案したものでは、どちらかのボックスのいずれかであり、両方ではありませんが、必要なだけ多くのボックスにチェックを入れたいのですが... スクリプトの何を変更すればよいでしょうか?
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスダイアログで入力を求める場合、一般的な方法は次の 2 つです。
1. モーダル ダイアログを使用して、入力を待機している間スクリプトの実行を一時停止します。
Names Default To Here( 1 );
dt=Open("$SAMPLE_DATA/Big Class.jmp");
// Prompt for the input
rc = New Window("Choose the parameters to be plotted",
<<MODAL></MODAL>// Launch report if Ok was pressed
if (rc["Button"] == 1,
// Ok pressed
Choose (rc["rb"],
Graph Builder(Variables(X(:age), Y(:weight))),
Graph Builder(Variables(X(:age), Y(:height)))
);
,
// Cancel
"Cancel"
)
スクリプトでは、変数「cb1」は DisplayBox です。この例では、<
2. ダイアログの「アクション」部分をボタン スクリプトの一部として実行します。
Names Default To Here( 1 );
dt=Open("$SAMPLE_DATA/Big Class.jmp");
// Prompt for the input and create graph
rc = New Window("Choose the parameters to be plotted",
rb = Radio Box({"weight", "height"}),
Button Box("Ok",
Choose(rb<<GET></GET>
モーダル ダイアログは他のウィンドウへの入力をすべてブロックしますが、2 番目の方法では、JMP で他のウィンドウを同時に使用し続けることができます。
お役に立てば幸いです!
Re: JSL - グラフビルダーでプロットする変数を選択するためのチェックボックスシンプルで効果的です。素晴らしい!