グラフビルダーでジッターのオン/オフを切り替えるチェックボックスこんにちは、
グラフビルダービューの上にチェックボックスオブジェクトを配置して、重なり合うポイント(ジッター)の分離のオン/オフを切り替えたいと思います。 これはコントロールパネルから実行できることは知っていますが、視覚化の観点からは、コントロールパネルを閉じたままにしておきたいと思います。
グラフの上にジッターの制御要素を作成する以下のスクリプト例。 私の最善の努力にもかかわらず、ジッターを切り替えるためのチェックボックスを取得できません。レポートに更新を送信する正しい方法がわかりません。
構文についてご協力をお願いします。
Names Default To Here(1);
dt= Open("$SAMPLE_DATA/Big Class.jmp");
gb=Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements(
Points( X, Y )
)
);
jitter = 1;
jitter_elements=H List Box(
cb=Check Box(
{"Jitter enabled"},
If(cb<<GET> gb << SendToReport(Elements(Points(Jitter( "Positive Grid" ), Jitter Limit( jitter )))), // This is not correct but something like this (maybe)
gb << SendToReport(Elements(Points(Jitter( "None" )))) // This is not correct but something like this (maybe)
);
),
sb = Slider Box( 0, 2, jitter,
neb << set( jitter );
),
neb = Number Edit Box(jitter,
<<SETFUNCTION></SETFUNCTION></GET>スクリプティング再:グラフビルダーでジッターのオン/オフを切り替えるチェックボックスいいアイデアですが、その方法はわかりません。答えを楽しみにしています。
再:グラフビルダーでジッターのオン/オフを切り替えるチェックボックス要素の操作は私の知る限り混乱しており、グループ化するとさらに混乱します。 そのため、私は(通常は)それを避けてグラフをやり直そうとします。 これは、要素の更新を使用してジッターを変更する方法の1つです。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 1;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0, 2, jitter, neb << set(jitter)),
neb = Number Edit Box(
jitter,
<<SETFUNCTION></SETFUNCTION>
その他の便利な機能は、要素の追加と要素の削除です。この投稿も参照してください。グラフビルダーの要素ステートメントの更新
再:グラフビルダーでジッターのオン/オフを切り替えるチェックボックスありがとうJarmo、
あなたの解決策(要素の更新)はうまく機能し、とても良いです。
以下は、グラフを更新するスライダーと数字ボックスも取得するためにさらに変更されたバージョンです。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 0.2;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0.1, 0.2, jitter,
neb << set(jitter);
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
),
neb = Number Edit Box(
jitter,
<<SETFUNCTION>0.2, jitter=0.2);
sb << inval;
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
neb << set(jitter);
)
)
)
),
gb = dt << Graph Builder(Show Control Panel(0), Variables(X(:height), Y(:weight)), Elements(Points(X, Y)));
)
);</SETFUNCTION>