以下のスクリプトに似ていますが、データ形式が異なるリストボックス プロットを取得したいと考えています。 私のデータは次の表のようになっており、プロットするすべてのデータが最初の 2 列にあります。 リストボックスのリスト部分をテスト数にしたいのですが、テスト数をクリックすると、順方向と逆方向の両方のプロットが生成されます。 by inputを使用した二変量プロットで可能かもしれないように見えます... 二変量 (I1、V1、スイープ タイプ別、テスト数別)。
これは可能ですか?また、これを機能させる方法についてガイダンスを得ることができますか。 私は JMP の初心者なので、どこから始めればよいのかまったくわかりません。
私のデータ形式
| V1 | I1 | テスト数 | スイープタイプ |
| 0 | 0 | 1 | フォワード |
| 1 | .1 | 1 | フォワード |
| 2 | .2 | 1 | フォワード |
| 0 | 0 | 1 | 逆行する |
| -1 | -.1 | 1 | 逆行する |
| -2 | -.2 | 1 | 逆行する |
| 0 | 0 | 2 | フォワード |
| 1 | .1 | 2 | フォワード |
| 2 | .2 | 2 | フォワード |
サンプルデータからのリストボックスの例
// Listbox_Graphs.jsl
// Display one graph at a time using a listbox to select which one
names default to here(1);
dt = open("$sample_data\CrimeData.jmp", invisible);
xcol = "Year";
ycols = {"Population", "Total Rate", "Violent Rate", "Property Rate", "Murder Rate",
"Rape Rate", "Robbery Rate", "Agg-Aslt Rate", "Burglary Rate", "Larceny Rate",
"MVTheft Rate", "Murder", "Rape", "Robbery", "Agg-Aslt", "Burglary", "Larceny",
"MVTheft", "Total", "Violent", "Property", "Latitude", "Longitude"};
gb_expr = {};
for(i = 1, i <= nitems(ycols), i++,
ycol = ycols[i];
// Define an array of graph builder expressions, one for each y column
one_expr = evalinsert(
"\[gb_expr[^i^] = expr(
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Name( "^xcol^" ) ), Y( :Name( "^ycol^" ) ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) )
),
);
]\");
eval(parse(one_expr));
);
// Code to run when a different y variable is selected
y_list_expr = expr(
y_mtx = y_lb << get selected indices;
y_i = y_mtx[1];
hlb << delete;
vlb << append(
hlb = hlistbox(
eval(gb_expr[y_i])
)
);
);
gw = new window("Graphical Output",
hlistbox(
panel box(
xcol || " vs:",
y_lb = list box(ycols,
width(250),
nlines(20),
max selected(1),
y_list_expr,
)
),
panel box("Graph",
vlb = vlistbox(
hlb = hlistbox(
eval(gb_expr[1]),
)
)
)
)
);
y_lb << set selected(1);
別のページとして設定すると完璧に機能しました。 ありがとう!
回答スクリーニング プラットフォームの使用を検討することもできます。分析結果を重要度順にまとめたサマリーデータテーブルを生成します。1 つ以上のパラメーターを選択し、提供されたテーブル スクリプトの 1 つを実行すると、Fit Y by X を使用して散布図が作成されます。したがって、Fit Y by X で使用できるすべての分析テストは、選択したパラメーターに対して使用できます。
Names Default To Here( 1 );
dt = Current Data Table();
Response Screening(
Y( :V1, :I1 ),
X( :Test Count, :Sweep Type ),
PValues Table on Launch( 1 )
);

軸を分割するという意味がわかりません。 追加のグループ化を含む新しい列を作成し、それを他のローカル データ フィルターまたはページなどとして使用することもできます。
追記:コメントを2回投稿してしまいました。 申し訳ございません。
これはうまくいくかもしれません。 軸を分割する方法はありますか? 実際のデータには、はるかに広い範囲の電圧と電流が含まれています
機能的には、これは素晴らしいスタートです。 ご協力いただきありがとうございます!
おそらくローカル データ フィルターを使用するだけで十分でしょうか? Test Count モデリング タイプを Ordinal または Nominal に変更すると、次のような結果が得られます。

JMP によって作成されたスクリプト:
Graph Builder(
Size(536, 491),
Show Control Panel(0),
Variables(X(:V1), Y(:I1), Group X(:Test Count), Group X(:Sweep Type)),
Elements(Points(X, Y, Legend(46)), Smoother(X, Y, Legend(47))),
Local Data Filter(
Add Filter(
columns(:Test Count),
Where(:Test Count == 1),
Display(:Test Count, N Items(2), "List Display")
)
)
)
編集:
サンプルデータテーブルを含むスクリプト
もっと見る...