繪製行中列中定義的 UCL/LCL你好,
當這些限制在該特定行的列中定義時,有人可以分享如何編寫腳本將 LCL/UCL 添加到任何類型的繪圖中。 該表有幾個正在繪製的參數(由標籤列標識),因此每個圖表都為該行中的每種圖表類型定義了一組不同的限制。
例如(附後),如果我們在大類示例中有兩列 UCL/LCL 與堆疊數據表。
有人可以編寫一個簡短的腳本來生成高度的疊加圖,其中 LCL 和 UCL 在相應列中為高度定義。
希望這個問題是有道理的。
謝謝!!
回复:繪製行中列中定義的 UCL/LCL當 UCL/LCL 隨時間變化時,任何人都有理想的繪製方法嗎?
JIM提出的方法@txnelson適用於靜態 UCL/LCL 限制。但隨著限制的變化不確定該怎麼做?
回复:繪製行中列中定義的 UCL/LCL我不確定您到底想讓 Overlay Plot 做什麼。我建議您以交互方式運行繪圖以使其成為您想要的形式,然後只需轉到紅色三角形並選擇讓 JMP 保存腳本。但是對於你所展示的 JSL:
您的 Overlay 規範中缺少 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) );
回复:繪製行中列中定義的 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) );”
你知道這是為什麼以及如何解決它嗎? 謝謝!
回复:繪製行中列中定義的 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
)
);
);回复:繪製行中列中定義的 UCL/LCL非常感謝吉姆,這適用於疊加圖表。 你能指出我可以參考的地方嗎(了解其他圖表的設置) 並繪製其他圖表。 腳本指南不是很有幫助。
另外,還有一件事,您能否添加一條線以確保限制線可見。 目前它們是不可見的。
感謝你的寶貴時間。
回复:繪製行中列中定義的 UCL/LCL非常感謝吉姆,這適用於疊加圖表。 你能指出我也可以繪製其他圖表的參考嗎? 腳本指南不是很有幫助。
另外,還有一件事,您能否添加一條線以確保限制線可見。 目前它們是不可見的。
感謝你的寶貴時間。
回复:繪製行中列中定義的 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
)
);
);回复:繪製行中列中定義的 UCL/LCL1.我假設列名稱是X軸
- 我以疊加圖為例,任何在 y 軸上具有數值的圖(例如身高或體重)。 X 軸可以是您建議的名稱。
2.對於定義為“高度”的行,您的 LCL 和 UCL 值對於每一行都是相同的。會不會這樣,或者用真實的數據表,LCL和UCL的值會發生變化嗎?
- 對於標籤類別中的不同類別,限制可能會發生變化。 (為了澄清:一個 LCL/UCL 用於身高,一些其他 UCL/LCL 用於體重)
3. 當您說“疊加圖”時,您是特指 JMP 中的疊加平台,還是僅表示數據值與 LCL 和 UCL 疊加,可以使用 Graph Builder 平台?
- 我以圖為例,其中包含疊加圖和帶有限制的可變性圖。 (這是通過在圖中添加線條手動生成的),我正在尋找類似的圖。
非常感謝您的寶貴時間!!
回复:繪製行中列中定義的 UCL/LCL1.我假設列名稱是X軸
2.對於定義為“高度”的行,您的 LCL 和 UCL 值對於每一行都是相同的。會不會這樣,或者用真實的數據表,LCL和UCL的值會發生變化嗎?
3. 當您說“疊加圖”時,您是特指 JMP 中的疊加平台,還是僅表示數據值與 LCL 和 UCL 疊加,可以使用 Graph Builder 平台?