JSLのグラフビルダーで変数に条件を追加するこんにちは、みんな、
特定の変数を含むグラフビルダーコードを変更しようとしています。条件ステートメントを追加して、これらの特定の変数を含めたり除外したりしたいと考えています。 if文を使ってみましたが、うまく動作しないようです。この件に関して何かご提案をいただければ幸いです。
コード例:
ユーザーからの入力を取得して (この部分はすでに完了しています)、ユーザーがテスト温度に対する結果を望んでいるかどうかを評価したいと考えています (たとえば)。プロットする変数は他にもありますが、例を簡略化するためにテスト温度を提供しました。
// x will be taken as an input
Graph Builder(
Size( 1257, 829 ),
Level Spacing Color( "Black" ),
Variables( Y( :TX_EVM ), Y( :TX_EVM ), If( Equal( X, 1 ), Group X( :Test_Temp ) ) ),
Elements( Box Plot( Y, Legend( 19 ) ) ),
Local Data Filter(
Add Filter(
columns( :Test_Temp ),
Where( :Test_Temp == {"test temp1 ", "test temp2", "test temp3"} )
)
)
);
高度な統計モデリング自動化とスクリプト作成基本的なデータ分析とモデリングウィンドウズRe: JSL のグラフ ビルダーの変数に条件を追加する最も簡単なオプションは、グラフビルドの作成後に変数を削除することです。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 492),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Group X(:sex)),
Elements(Points(X, Y, Legend(5)))
);
// gb << Get Variables; // depending on your graph calculating which index to remova can be a good idea
gb << Remove Variable(3);
wait(0);
式を使用してGraph Builder()メッセージのVariables()部分を構築することもできます。
Re: JSL のグラフ ビルダーの変数に条件を追加するTestList[i3]を何かでラップする必要があるかもしれません。以下にいくつかのオプションを示します。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
mycol = "weight";
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:age), X(:sex), Y(mycol)), // won't work
Elements(Position(1, 1), Points(X, Y, Legend(6))),
Elements(Position(2, 1), Points(X, Y, Legend(7)))
);
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:age), X(:sex), Y(Eval(mycol))), // might work
Elements(Position(1, 1), Points(X, Y, Legend(6))),
Elements(Position(2, 1), Points(X, Y, Legend(7)))
);
Eval(EvalExpr(
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:age), X(:sex), Y(Expr(NameExpr(AsColumn(mycol))))), // works
Elements(Position(1, 1), Points(X, Y, Legend(6))),
Elements(Position(2, 1), Points(X, Y, Legend(7)))
)
));
Re: JSL のグラフ ビルダーの変数に条件を追加するJarmo さん、ご協力ありがとうございます。あなたのコードは完全に正常に動作しますが、同じ手法を私の元のコードに実装すると動作しません。私のコードは実際には複数のグラフ ビルダーを作成し、それらを追加します。各グラフ ビルダーの後に変数を削除しようとしましたが、違いはないようです。
私が持っているコードの簡略版は次のようになります。
gb = {}; // initiate list
// loop through the test list
index = N Items( gb );//
gb[index + 1]= New Window( "Capability", hlb = H List Box() );
hlb << append(//
Graph Builder(
Size( 1800, 700),//
Variables(
X( :Temp, Position( 1 ) ),
X( :Location, Position( 1 ) ),
Y( TestList[i3] ), // this is
),
Elements( Histogram( X( 1 ), X( 2 ), X( 3 ), Y, Legend( 46 ), Means and Std Devs( 1 )),Smoother( X( 1 ), X( 2 ), X( 3 ), X( 4 ), Y, Legend( 49 ) ) ,Caption Box(
X( 1 ),
X( 2 ),
X( 3 ),
Y,
Legend( 51 ),
Summary Statistic( "Mean" ),
) ),
Local Data Filter(
.
.
.
.
.
.
.
),
SendToReport(
.
.
.
.
.
.
.
)
);
);
//end loop<BR />