基於 USL 和 LSL 規格限制的變異圖 Y 軸自動縮放當存在異常資料時,我的圖表總是縮放到混合點或最大值,這使得圖表不可見。
是否可以使用 JSL 腳本根據已嵌入參數中的參數 USL 和 LSL 限制動態設定變異性圖表 Y 軸? 請指教。 謝謝
回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放您需要檢查導致警報的程式碼之前的列數等是否正確,然後新增處理該問題所需的程式碼。回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放如果我只呼叫一項/列,如何處理「JMP 警報」?
「for 循環」導致此警報
回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放這樣做,我有一種感覺,顯示圖表需要更長的時間。
再次感謝您的支持!
回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放對我來說看起來不錯。 我不太確定其他改進,因為我不知道數據。回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放嗨吉姆,
非常感謝您的支持!
我透過此增強了您的程式碼,以獲得更好看的圖表:
owr[i][AxisBox( 2 )] << Min( spec["LSL"] - 0.1 * (spec["USL"] - spec["LSL"]) ) <<
Max( spec["USL"] + 0.1 * (spec["USL"] - spec["LSL"]) ) << Inc( (spec["USL"] - spec["LSL"]) / 10 );
owr[i][AxisBox( 2 )] << Format( Best, 6 );
這是你也會做的事嗎?
或者有更優雅的方式嗎?
回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放請參閱下面的腳本,以了解處理您的新請求所需的變更。在大多數情況下,任何列列表都可以透過 Eval() 函數替換為平台請求,該函數將列表表示為 JMP。請參閱
Eval( colList )
在下面的腳本中。
假設您現在已經閱讀了腳本指南中有關顯示樹的部分,腳本索引中的範例記錄了可以傳遞給顯示物件的訊息
幫助==>腳本索引
檢查 AxisBox() 的訊息,您將看到所有可用的訊息。其中有Inc()。正是這種軸增量的改變被用來確保在改變最小和最大軸值之後圖表中的值。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colList = {"NPN1", "PNP1"};
For( i = 1, i <= N Items( colList ), i++,
// Turn on Show Limits
spec = Column( dt, colList[i] ) << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
Column( dt, colList[i] ) << Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
);
// create the graphs
ow = Oneway(
Y(
eval(colList)
),
X( :site ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0 ),
Std Dev Lines( 1 ),
Legend( 0 ),
SendToReport(
Dispatch(
{"Normal Quantile Plot"},
"Oneway QuantilePlot",
FrameBox,
{Row Legend(
Corner,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
owr = ow << report;
// adjust the axes
For( i = 1, i <= N Items( owr ), i++,
spec = Column( dt, colList[i] ) << Get Property( "Spec Limits" );
(owr[i])[AxisBox( 2 )] << Min( spec["LSL"] ) << Max( spec["USL"] )
<< inc ((spec["USL"] - spec["LSL"]) / 10 );
);回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放謝謝! 有效。
1)
您還可以幫我透過腳本調整 x 軸設定嗎?
LSL 和 USL 之間沒有值。
也許,有一種策略可以自動調整 x 軸並具有有意義的 Tick/Bin 增量?
2)
是否可以給予列列表= { “NPN1” , “PNP1” } ;到
噢=單程(
是(
:姓名( “NPN1” ) ,
:姓名( “PNP1” )
) , --> 代替 :Name(), :Name()

回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放這是一個腳本,應該向您展示如何正確指定軸。您需要學習的新知識是顯示樹的操作。JMP 文檔庫中的腳本指南對此進行了記錄
幫助==>JMP 文件庫

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colList = {"NPN1","PNP1"};
For(i=1,i<=N Items(colList),i++,
// Turn on Show Limits
spec = column(dt,colList[i]) << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
column(dt, colList[i]) <<
Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ),
Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
);
// create the graphs
ow = Oneway(
Y(
:Name( "NPN1" ),
:Name( "PNP1" )
),
X( :site ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0 ),
Std Dev Lines( 1 ),
Legend( 0 ),
SendToReport(
Dispatch(
{"Normal Quantile Plot"},
"Oneway QuantilePlot",
FrameBox,
{Row Legend(
Corner,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
owr = ow << report;
// adjust the axes
For( i=1, i<= n items(owr),i++,
spec = column(dt,colList[i]) << Get Property( "Spec Limits" );
(owr[i])[AxisBox(2)] << min(spec["LSL"])<<MAX></MAX>
回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放你好,
如何修改下面的腳本以將圖形自動縮放到 LSL 和 USL。
@馬丁德梅爾

Oneway(
Y(
:Name( "test1" ),
:Name( "testn" )
),
X( :Corner ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0 ),
Std Dev Lines( 1 ),
Legend( 0 ),
SendToReport(
Dispatch(
{"Normal Quantile Plot"},
"Oneway QuantilePlot",
FrameBox,
{Row Legend(
Corner,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放你好,
我想對趨勢圖使用相同的解決方案,但遇到文法問題。
有人知道如果我的限制列名稱是:“CENTERLINE”、“LCL_HS”、“UCL_HS”,我需要更改哪些欄位?
如果我要按列建立雙變量圖表,是否需要調整?
謝謝!
回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放謝謝吉姆。 它工作完美!回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放下面是一個範例腳本,顯示了使用 USL 和 LSL 設定最大和最小軸設定的精確程式碼。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// Turn on Show Limits
spec = dt:NPN1 << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
dt:NPN1 <<
Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ),
Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
// Build the Chart
vc = Variability Chart(
Y( :NPN1 ),
X( :lot_id ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 1 )
);
// Set the Min and Max
Report( vc )[axisbox( 1 )] << Max( spec["USL"] );
Report( vc )[axisbox( 1 )] << Min( spec["LSL"] );回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放嗨特克斯尼爾森,
謝謝你的建議。 但不幸的是,這不是我正在尋找的解決方案。 軸框將提示使用者手動鍵入最小值/最大值。 我希望 JSL 根據嵌入的 LSL 和 USL 規範參數自動進行縮放,而無需人工互動。
有什麼選擇可以這樣做嗎?
回覆:基於 USL 和 LSL 規格限制的變異性圖表 Y 軸自動縮放簡單的答案是肯定的…參見
幫助==>腳本索引==>軸框
以下是使用雙變量的腳本索引的範例,但相同的功能也可用於變異性圖表
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
FitLine
);
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Max( 120 );