みなさん、おはよう/午後。
これは本当に簡単なはずだと思いますが、どうすればよいかわからないのです。OriginProではこれは本当に簡単ですが、私は初めて仕事にJMPを使用する必要があるので、このプログラムの初心者です。
問題:2セットのXRDデータがあります。1つは古いマシンのもので、もう1つは新しいマシンのものです。データは、約-6000〜 +3000秒角の同じドメインで取得されます。ただし、データポイントの間隔は2台のマシン間で異なります。
したがって、これら2つのデータセットがあり、同じプロットにオーバーレイする必要があります。x(秒単位の角度)とy(CPS単位の強度)の定義は同じです。
両方のデータセットで、主な反射は約0秒角で発生します(予想どおり)。添付されているのは、2台のマシン(D1とV1)からのデータのプロットです。
グラフビルダーを使用して、これらのデータを同じグラフに追加し、一方を他方の上にオーバーレイしようとしました。両方のxドメインをx軸にドラッグしようとしましたが、これでは目的の動作が得られません。D1が「it's」xに対してプロットされ、V1が「it's」xに対してプロットされるのではなく、両方のデータセットがx範囲の1つのみを使用してプロットされます。したがって、これにより、使用されるxに応じて、データセットの1つが圧縮または拡張されます。添付されているのは、グラフビルダーでプロットされた両方のデータセットであり、問題を確認できます。
私が欲しいのは、x範囲を固定し、複数のyをx軸に対してプロットすることだけです。
私がまだJMPに慣れていないことを考えると、インタラクティブなソリューションが望ましいですが、スクリプトが唯一の可能な方法である場合は、それも受け入れます。
よろしくお願いします。
グラフのデータは、単一のデータテーブルから取得する必要があります。したがって、2つのデータテーブルを取得し、それらを結合または連結して、1つのX列と2つのY列を作成する必要があります。次に、グラフビルダーを開いてX列をXドロップ領域にドラッグし、次に両方のY列を選択してYドロップ領域にドラッグするだけです。
使用する
テーブル=>参加
または
テーブル=>連結
データをまとめます。X列名が両方のデータテーブルで同じであり、Y列名が異なることを確認してください。
これを行う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 )}
)
)
);データは両方とも同じデータテーブルにありますが、繰り返しになりますが、問題は、それらが同じx値のセットを共有していないため、答えが機能しないことです。
それは機能しますが、それはそのようなひどいハックです。
これは本当にこれを行う唯一の方法ですか?これほど基本的なことをするのに本当に簡単な方法はありませんか?