行の列で定義された UCL/LCL のプロットやあ、
これらの制限がその特定の行の列で定義されている場合、LCL/UCL を任意のタイプのプロットに追加するスクリプトを作成する方法を誰かが共有できますか? テーブルにはプロットされているいくつかのパラメーター (ラベル列で識別) があるため、各チャートには、その行のチャート タイプごとに定義された異なる範囲のセットがあります。
たとえば(添付)、積み上げられたデータテーブルを使用した大きなクラスの例で、UCL/LCL の 2 つの列があるとします。
誰かが短いスクリプトを書いて、それぞれの列の高さに対して定義されている LCL と UCL を使用して、高さのオーバーレイ プロットを作成できますか。
質問が理にかなっていることを願っています。
ありがとう!!
Re: 行の列で定義された UCL/LCL をプロットするUCL/LCL が時間とともに変化している場合、これをプロットする理想的な方法はありますか?
JIMが提案する方法@txnelson静的な UCL/LCL 制限に最適です。しかし、制限を変更すると、それを行う方法がわかりませんか?
Re: 行の列で定義された UCL/LCL をプロットするオーバーレイ プロットに何をさせようとしているのか正確にはわかりません。インタラクティブにプロットを実行して、希望する形にしてから、赤い三角形に移動して、JMP にスクリプトを保存させることを選択することをお勧めします。しかし、あなたが示したJSLについて:
オーバーレイ仕様に X() 要素がありません。あなたが変更したことを示したサンプル
op = Overlay Plot( Y( :data ), by( :label ) );
正しいフォームではありませんでした。正しい例は
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
したがって、使用する必要がある仕様は次のとおりです。
op = Overlay Plot( Y( :data1, :data2), X(:data3 ), by( :label ) , needle (1) );
Re: 行の列で定義された UCL/LCL をプロットするやあ、
JSL初心者として、私はあなたのアプローチをコピーし、プロットされたデータの単一列に対して完全に機能します(ありがとう!)。 ただし、プロットにさらに 2 つの列 (およびそれらの間の針) を含めたいと考えています。 これは現在、3 つの列を含むプロットになりますが、UCL/LCL はありません。
「op = Overlay Plot( Y( :data ), by( :label ) );」を変更しました
に
"op = Overlay Plot( Y( :data1, :data2, :data3 ), by( :label ) , needle (1) ); "
これがなぜなのか、そしてそれを修正する方法を知っていますか? ありがとう!
Re: 行の列で定義された UCL/LCL をプロットするどのチャートが利用可能かを知る最良の方法は、ドキュメント「Essential Graphing」に目を通すことです。
ヘルプ==>エッセンシャル グラフ
次に、グラフを実行した後、グラフィック出力の赤い三角形から選択して、スクリプトを保存できます。そこから、グラフを生成するために使用する必要があるコードを取得します。
以下は、以前に提供されたスクリプトへの変更です。基準線が表示されていることを確認するように修正しました。
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Make sure the UCL and LCL values are displayed
chartMin = Min( :data[dt << get rows where( :Label == byVals[i])]);
chartMax = Max( :data[dt << get rows where( :Label == byVals[i])]);
If(LCL < chartMin, chartMin = LCL );
If(UCL > chartMax, chartMax = UCL );
chartRange5% = (chartMax - ChartMin)/20;
chartMin = chartMin - chartRange5%;
chartMax = chartMax + chartRange5%;
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Min( __min__ ), Max( __max__ ),
Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL,
Expr( __min__ ), chartMin,
Expr( __max__ ), chartMax
)
);
);Re: 行の列で定義された UCL/LCL をプロットするどうもありがとうジム、これはオーバーレイチャートで機能します。 私ができる場所を参照できますか(他のチャートの設定について学ぶ) 他のチャートもプロットします。 スクリプト ガイドはあまり役に立ちません。
また、もう 1 つ、境界線が確実に見えるようにする線を追加できますか。 現在、それらは表示されていません。
お時間をいただきありがとうございました。
Re: 行の列で定義された UCL/LCL をプロットするどうもありがとうジム、これはオーバーレイチャートで機能します。 他のチャートもプロットできる参照先を教えてください。 スクリプト ガイドはあまり役に立ちません。
また、もう 1 つ、境界線が確実に見えるようにする線を追加できますか。 現在、それらは表示されていません。
お時間をいただきありがとうございました。
Re: 行の列で定義された UCL/LCL をプロットする以下は、サンプル データ テーブルに必要なものを生成するスターター スクリプトです。オーバーレイ プロットを生成します。変動性チャートで同じことを行うには、プラットフォームごとに異なるオプションなどがあるため、いくつかの変更が必要になります。
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL
)
);
);Re: 行の列で定義された UCL/LCL をプロットする1.列名がX軸であると仮定します
- 例としてオーバーレイ プロットを使用しました。y 軸に数値 (身長や体重など) を持つ任意のプロットです。 あなたが提案したように、X軸は名前にすることができます。
2. LCL 値と UCL 値は、「高さ」として定義された行の各行ですべて同じです。そうですか、それとも実際のデータ テーブルでは、LCL と UCL の値が変わりますか?
- 制限は、ラベル カテゴリ内の別のカテゴリで変更できます。 (明確にするため: 身長には 1 つの LCL/UCL、体重には別の UCL/LCL)
3. 「オーバーレイ プロット」と言うとき、具体的に JMP のオーバーレイ プラットフォームについて言及しているのでしょうか。それとも、データ値が LCL と UCL でオーバーレイされ、グラフ ビルダー プラットフォームを使用できることを示しているだけですか?
- 例として、オーバーレイ プロットと限界のある変動性プロットを含むプロットを添付します。 (これは、プロットに線を追加することによって手動で生成されました)、同様のプロットを探しています。
ありがとうございました!!
Re: 行の列で定義された UCL/LCL をプロットする1.列名がX軸であると仮定します
2. LCL と UCL の値は、行が「高さ」として定義されている各行ですべて同じです。そうですか、それとも実際のデータ テーブルでは、LCL と UCL の値が変わりますか?
3. 「オーバーレイ プロット」と言うとき、具体的に JMP のオーバーレイ プラットフォームについて言及しているのでしょうか。それとも、データ値が LCL と UCL でオーバーレイされ、グラフ ビルダー プラットフォームを使用できることを示しているだけですか?