こんにちはコミュニティ、
私はjmpに比較的慣れておらず、等高線プロットの質問があります。
私は、中央複合材を設計した 20 の実験を行いました。 データに応答曲面モデルを当てはめました。
次に、このモデルを使用して、設計空間全体の予測を生成しました。 次に、予測の等高線図を作成しました。
x でマークされた実験データ ポイントを等高線図に追加する方法はありますか。 実験で見つけた従属変数の値でこれらのデータ ポイントにラベルを付ける方法はありますか?
添付の画像は、私がやりたいことを説明するためにペイントで描いたものです。 プログラミングの仕方がわからないので、メニューの選択やスクリーンショットを添えて返信していただけると助かります。 どうもありがとうございます
お返事ありがとうございます。 スクリプトを理解できませんでした。 しかし、私はそれを行う方法を考え出しました。 グラフ メニューから等高線図を使用して等高線図を作成しました。 また、独立変数の散布図も作成しました。 フレームの内容を散布図から等高線図にコピーしました。 次に、テキスト注釈を使用してポイントに手動でラベルを付けました。
やあ@AlexandruS 、
コミュニティへようこそ! 多くの JMP スクリプトを作成する必要があるため、これは新しい JMP ユーザーにとっては少し面倒ですが、次のように説明します。
別のカスタム プロファイラーではなく、モデルの適合で等高線プロファイラーを表示していると思います。どちらの方法でも、同じ一般的な手順が適用されます。サンプル データ ライブラリのカスタム RSM サンプル データ セットを使用しています。
まず、新しいスクリプトを開き、データ テーブルへの変数参照を作成します。ここでは、カスタム RSM テーブルを開いています。
dt = Open("$Sample_Data\Design Experiment\Custom RSM.jmp");プロファイラーを含むレポートのスクリプトを取得する必要があります。Fit Model からのものである場合、スクリプトは Fit Model(Y(:Y), Effects(...),...); のようなものになります。プロファイラーの内容をカスタマイズできるように、レポート ウィンドウへの参照を取得する必要があります。カスタム RSM の例で行った方法は次のとおりです。
rpt = (
dt << Fit Model(
Y( :Y ),
Effects(
:X1 & RS,
:X2 & RS,
:X3 & RS,
:X1 * :X1,
:X1 * :X2,
:X2 * :X2,
:X1 * :X3,
:X2 * :X3,
:X3 * :X3
),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
Contour Profiler(
1,
Term Value(
X1( 0, Lock( 0 ), Show( 1 ) ),
X2( 0, Lock( 0 ), Show( 1 ) ),
X3( 0, Lock( 0 ), Show( 1 ) )
),
Contour Value( Y( 62.703, Min( 52.5 ), Max( 75 ) ) ),
Grid Density( "40 x 40" ),
Contour Grid( 50, 80, 5, Y ),
Horizontal Factor( :X1 ),
Vertical Factor( :X2 ),
Y Colors( 21 ),
Up Dots( 0 )
),
:Y << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Effect Details( 0 ), Sorted Estimates( 0 ),
Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Residual by Row( 1 ),
Plot Studentized Residuals( 0 ), Plot Effect Leverage( 0 ),
Box Cox Y Transformation( 1 ), Show VIF( 1 )}
)
)
) << Report;Fit Model スクリプトの前に "rpt = (dt <<" を付けてから、これをバックエンドに配置したことに注意してください: ") << Report;"。変数 "rpt" には、モデルの適合のレポート ウィンドウへの参照が含まれるようになりました。
次に、Contour Profiler でプロットしている変数の値を取得する必要があります。私の例では、2 つの変数は x1 と x2 です。ポイント ラベルの Y 値も必要です。
//plotted points
x1_vals = :x1 << Get Values;
x2_vals = :x2 << Get Values;
//values used in labels
y_vals = :y << Get Values;
これで、グラフィック スクリプトを追加して、プロファイラー内のポイントとテキストを次のようにプロットできます。
rpt["Contour Profiler"][FrameBox(1)] << Add Graphics Script(
Marker(x1_vals, x2_vals);
for(i=1,i<=N Row(dt),i++,
text(eval list({x1_vals[i],x2_vals[i]+0.05}),char(y_vals[i]));
)
);
括弧内のものは、表示ツリーを下に移動して、プロットを含むフレームボックスに到達するのに役立ちます。Marker() を使用してポイントを追加します。ループを使用してラベルを追加します。
最終結果は次のようになります。
3 番目の因子 X3 があるため、いくつかの点とラベルが重ねてプロットされていることに注意してください。これをさらにカスタマイズして、ラベルが互いに重ならないようにすることもできますが、これらすべてのラベルにも x3 の値を追加したいと思うでしょう。基本的に、このソリューションは 2 つ以上の要因に対してはあまりうまくスケーリングしませんが、2 つしかない場合、これは非常にうまく機能するはずです。