グラフビルダーと横断選択おい、
この形式に似たかなり大きなデータテーブルがあります。

そこから、さまざまなアッセイ タイプとアッセイを並べて視覚化するための一連のグラフ ビルダーを作成します。このような感じです (1 つのアッセイ タイプが右側にあり、アッセイがページとして、バッチがオーバーレイとして表示され、もう 1 つのアッセイ タイプがその上にあります)右ですが同じセットアップ):

1 つのグラフでバッチを選択し、他のグラフで強調表示したいと考えていますが、選択は行で行われるため、もちろん強調表示されません。
2 つのグラフビルダーに選択範囲内に存在するすべてのバッチを強制的に選択させる小さなスクリプトを入れたかったのですが、それを機能させることができません。このようなイベントをキャプチャするためにグラフビルダーに対して設定する適切な関数を見つけることができません。
選択した行に関連付けられたすべての行を選択する次のような小さなスクリプトがあります。
batches = AssociativeArray(:Batch[dt << get selected rows])<< Get Keys;
dt << Select Where( Contains( batches, :Batch ) );
選択の変更に対してこのスクリプトをトリガーするグラフビルダーに対して設定できる関数はありますか?
それとも、ここで探しているものを達成するためにもっと良い方法があったでしょうか?
(オーバーレイとしてバッチ ID を持っているため、いくつかのバッチの色を変更し、それをすべてのグラフに反映させたい場合にも問題が発生します。右トリガー)。
設定するあらゆる種類の関数のスクリプトインデックスを調べましたが、それらはグラフビルダーに対して影響を与えないようですが、失敗することもありません。
私は MacOS 用 JMP 17.1 (14.3.1) を使用しています。
前もって感謝します、
ダニエル
自動化とスクリプト作成データの探索と視覚化Re: 複数のグラフビルダーと相互選択ボタンを使用する以外にこれを行う簡単なオプションはありません。重複したテーブルと行状態ハンドラーを使用できるかもしれませんが、JMP では行状態ハンドラーに非常にバグがあるため、これを行うことをお勧めします。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt2 = dt << Subset(All Rows, Selected Columns(0), private);
f = Function({a},
selages = dt[a, "age"];
rowstoselect = dt2 << Get Rows Where(Contains(selages, :age));
rowstates = J(1, N Rows(dt2), 0);
rowstates[rowstoselect] = 1;
dt2 << Set Row States(rowstates);
);
rs = dt << make row state handler(f);
nw = New Window("",
H List Box(
gb = dt << Graph Builder(
Size(525, 490),
Show Control Panel(0),
Variables(X(:age), Y(:height), Group X(:sex)),
Elements(Bar(X, Y, Legend(12)))
),
gb2 = dt2 << Graph Builder(
Size(525, 448),
Show Control Panel(0),
Variables(X(:age), Y(:height)),
Elements(Bar(X, Y, Legend(4))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Fill Selection Mode("Selected Outlined")}
)
)
)
)
);
このタイプのケースに関するウィッシュリスト項目を作成するつもりですが、それまでは、JMP が私たちが持っているさまざまなハンドラーを改善することを期待して、ウィッシュリスト項目をここに示します。
JMP の状態ハンドラー (ホバー ラベル、行状態ハンドラー、フィルター状態ハンドラー、スケジューラーなど) を改善しました。
Re: 複数のグラフビルダーと相互選択ジャーモさん、返信ありがとうございます!
様子を見て、問題がなければボタンの作成に戻るつもりです。
あまりきれいではありませんが、少なくともうまくいくと思います:)
再度、感謝します、
ダニエル