グラフ作成のための JSL での Y 軸変数の条件付き表示の処理`graphbuilt` を使用する場合、常に表示されるとは限らない特定の Y 軸変数に値がある場合は表示し、値がない場合には表示しないという要件を JSL でどのように記述すればよいでしょうか。次の 2 つの方法は効果的ではありませんでした。
1.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), try(Y( :bbb )), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);2.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :bbb ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);自動化とスクリプトRe: グラフ作成のための JSL での Y 軸変数の条件付き表示の処理こんにちはベイビードラゴン 、 bbb は存在するか存在しないかのどちらかであり、これをチェックする必要があるのでしょうか、それとも bbb は常に存在するが、いくつかの値 (行) が欠落しているのでしょうか?
Re: グラフ作成のための JSL での Y 軸変数の条件付き表示の処理bbb のデフォルト値は {} ですが、次の 2 つの例のように変数として格納される場合もあります。
1.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
bbb={};
bbb="age";
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( as column(bbb)), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);2.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
bbb={};
//bbb="age";
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( as column(bbb)), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);現在 bbb に変数があるかどうかに基づいて、グラフがこの項目を自動的に含めたり除外したりできるようにしたいと考えています。
Re: グラフ作成のための JSL での Y 軸変数の条件付き表示の処理式を作成したり、後で変数を追加したりできます
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(534, 450),
Show Control Panel(0),
Variables(X(:sex), Y(:height), Y(:weight)),
Elements(Position(1, 1), Points(X, Y, Legend(13))),
Elements(Position(1, 2), Points(X, Y, Legend(14)))
);
dt << new column("A", Numeric, Continuous, Formula(Row()));
extra_cols = {"height", "A"};
For Each({extra_col}, extra_cols,
Eval(EvalExpr(
gb << Add Variable({Expr(NameExpr(AsColumn(dt, extra_col))), Role("Y")});
));
);
何をしようとしているかに応じて、考慮すべき点がかなり多くあります (順序、プロットの種類、凡例など)
私の記憶が正しければ、これはこのトピック「Scripters Club Recording: JSL in Graph Builder」に関連するものかもしれません。