同じグラフに複数のデータを追加するにはどうすればよいですか?みなさん、おはようございます/午後。
これは非常に簡単なはずだと思いますが、これを行う方法を見つけるのに苦労しています。OriginPro ではこれは非常に簡単ですが、仕事で JMP を初めて使用する必要があるため、このプログラムについてはまったくの初心者です。
問題: XRD データが 2 セットあります。1 つは古いマシンから、もう 1 つは最新のマシンからです。データは、約 -6000 秒から +3000 秒角までの同じドメインで取得されます。ただし、データ ポイントの間隔は 2 台のマシン間で異なります。
したがって、これら 2 つのデータセットがあり、それらを同じプロット上にオーバーレイする必要があります。x (角度 (秒角)) と y (強度 (CPS)) の定義は同じです。
どちらのデータ セットでも、主な反射は (予想通り) 約 0 秒角で発生します。2 台のマシン (D1 と V1) からのデータのプロットが添付されています。
グラフビルダーを使用してこれらのデータを同じグラフに追加し、一方を他方の上に重ね合わせようとしました。両方の x ドメインを x 軸にドラッグしようとしましたが、望ましい動作が得られません。D1 が "それ" x に対してプロットされ、V1 が "それ" x に対してプロットされるのではなく、どちらのデータ セットも x 範囲の 1 つだけを使用してプロットされます。したがって、どの x が使用されるかに応じて、データセットの 1 つが圧縮または拡張されることになります。グラフ ビルダーでプロットされた両方のデータセットが添付されており、問題がわかります。
私が望むのは、x 範囲を固定し、複数の y を x 軸に対してプロットすることだけです。
私がまだ JMP に慣れていないことを考えると、対話型の解決策が望ましいと考えられますが、スクリプトが唯一の方法である場合は、それも受け入れます。
よろしくお願いいたします。
V1V1V1
D1D1D1
D1+V1D1+V1D1+V1
品質およびプロセスエンジニアリングRe: 複数のデータを同じグラフに追加するにはどうすればよいですか?やあ、
私は頻繁に 2 セットのデータ (X1/Y1、X2/Y2) を両方とも異なる列で使用し、それらを 1 つの XY グラフに重ね合わせます。現在、1 つのグラフに 4 つのプロットが含まれることになります (X1/Y1、X1/Y2、X2/Y1、X2/Y2、必要なのは X1/Y1 と X2/Y2 だけです)。プロットを正しく理解するだけでいつも半日かかります。
JDA のおかげで、この問題に取り組んでいるのは私だけではないとわかってうれしく思います。
JMP が Ver 18 でこれに対するインタラクティブなソリューションを作成できることに本当に感謝します。
Re: 複数のデータを同じグラフに追加するにはどうすればよいですか?あなたが望むことを実行するスクリプトをまとめました。これは、x1、y1、x2、y2 の 4 つの列を持つテーブルから始まります。

問題は、x2 と y2 を x1 と y1 の下にスタックし、2 つのデータ セットを区別する列を追加する必要があることです。最終的には次のような結果が得られます。

これがスクリプトです。最初の数行では、変数 dt によって参照されるテーブルと同様のテーブルが定義されていることに注意してください。
// Create an example table
dt = New Table( "Untitled 2", Add Rows( 4 ),
New Column( "x1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 2, 3, 4] ) ),
New Column( "y1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [4, 2, 3, 1] ) ),
New Column( "x2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [3, 5, 7, 8] ) ),
New Column( "y2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [5, 2, 8, 2] ) )
);
// For your case you would point the dt variable to your own table.
// dt = data table("My Data Table");
nr = nrows(dt);
// Make the new table
newdt = New Table( "Untitled 5",
Add Rows( 2 * nr ),
New Column( "x", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "y", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Machine", Character, "Nominal")
);
// In the next section of code, replace x1 and y1 with your column names for the first x-y pair
// Start with X1, Y1
for (i = 1, i <= nr, i++,
newdt:x[i] = dt:x1[i];
newdt:y[i] = dt:y1[i];
newdt:Machine[i] = "A";
);
// In this section of code, replace x2 and y2 with your column names for the second x-y pair
// Now add X2, Y2
for (i = (nr + 1), i <= 2 * nr, i++,
newdt:x[i] = dt:x2[i - nr];
newdt:y[i] = dt:y2[i - nr];
newdt:Machine[i] = "B";
);
// Create the graph
newdt << Graph Builder(
Size( 886, 452 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ), Overlay( :Machine ) ),
Elements( Line( X, Y, Legend( 13 ) ), Points( X, Y, Legend( 14 ) ) )
);
このコードを実行するには、コードをクリップボードにコピーします。JMP では、CTRL-T を押して新しいスクリプト ウィンドウを開き、コードを貼り付け、CTRL-R を押して実行します。

を使用してより簡単な解決策を考え出すことを好みましたテーブル > スタック、しかし、それを機能させる方法がわかりませんでした(これはすべての JMP ユーザーへの挑戦です!)。このスクリプトは次善の策です。
Re: 複数のデータを同じグラフに追加するにはどうすればよいですか?特定された解決策は、それを実行するための方法です。 「2 つのデータ セット」が同じ x 値を持つ必要がないことを示すために、別の例を含めました。
あなたが抱えている主な問題は、データを正しく設定する方法だと思います。 変数の観点から考えてみましょう。 X 変数 (Omega と呼ばれると思います) があります。 Y 値があります (Velox と呼ばれていると思います??)。 Machine という 3 番目の変数があります。 データテーブルには、変数ごとに 1 つずつ、合計 3 つの列が必要です。 @pmrozを示した。
彼のソリューションでは JMP スクリプトが示されました。これは、このフォーラムでソリューションを実証する最も簡単な方法だからです。 ただし、データが適切に設定されていれば、対話型の手順は非常に簡単です。 以下にテーブルの例を示します。

[グラフ] > [グラフ ビルダー] に移動します。
オメガを X 軸にドラッグします。 Velox を Y 軸にドラッグします。 マシンをオーバーレイフィールドにドラッグします。
スムーサーボタンをクリックしてスムーサーを削除しました。
Shift キーを押しながら線要素ボタンを選択して追加します。

数え方にもよりますが、変数の観点からデータを適切に設定したら、5 つのステップになります。
Re: 複数のデータを同じグラフに追加するにはどうすればよいですか?それは機能しますが、それは非常にひどいハックです。
本当にこれしか方法はないのでしょうか?これほど基本的なことを実現する簡単な方法は本当にないでしょうか?
Re: 複数のデータを同じグラフに追加するにはどうすればよいですか?データは両方とも同じデータテーブル内にありますが、繰り返しになりますが、問題は同じ x 値のセットを共有していないため、答えは機能しません。
Re: 複数のデータを同じグラフに追加するにはどうすればよいですか?表は次のとおりです。

結果のグラフは次のとおりです。

Re: 複数のデータを同じグラフに追加するにはどうすればよいですか?その方法の 1 つを次に示します。
- 各データセットに列を追加します (例: 「Machine」)。V1 テーブルの値は V1 となり、P1 テーブルの値は P1 になります。
- 次に、2 つのテーブルを連結します。
- グラフ ビルダーを実行し、Omega を X にドラッグし、Y 列を Y にドラッグします。
- マシンをオーバーレイにドラッグします
その方法を示すコードを次に示します。
dt = New Table( "Test Combo", Add Rows( 6 ),
New Column( "Omega", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 1, 2, 3] ) ),
New Column( "Y", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 4, 10, 2, 7, 20] ) ),
New Column( "Machine", Character, "Nominal",
Set Values( {"D1", "D1", "D1", "V1", "V1", "V1"} ) )
);
dt << Graph Builder( Size( 527, 452 ), Show Control Panel( 0 ),
Variables( X( :Omega ), Y( :Y ), Overlay( :Machine ) ),
Elements( Line( X, Y, Legend( 13 ) ) ),
SendToReport( Dispatch( {}, "Y", ScaleBox,
{Scale( "Log" ), Format( "Best", 12 ), Min( 0.7 ),
Max( 20.3648979591837 ), Inc( 1 ), Minor Ticks( 1 )}
)
)
);Re: 複数のデータを同じグラフに追加するにはどうすればよいですか?グラフのデータは単一のデータ テーブルから取得する必要があります。したがって、2 つのデータ テーブルを結合または連結して、1 つの X 列と 2 つの Y 列を作成する必要があります。次に、グラフ ビルダーを開いて X 列を X ドロップ領域にドラッグし、次に両方の Y 列を選択して Y ドロップ領域にドラッグするだけです。
使用
テーブル=>結合
また
テーブル=>連結
データをまとめるために。X 列名が両方のデータ テーブルで同じであり、Y 列名が異なることを確認してください。