<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我很想知道是否有更好的方法來執行下面的腳本。 目前,我有一個函數從用戶那裡獲取輸入,並為要遵循的圖形或圖形列出所有可能的Y值。 然後調用以下函數來創建圖形。 我想知道是否有某種方法可以通過某種方式使用一個或兩個圖形構建器而不是包含它們自己的圖形構建器的6個if語句來大大縮短所需的代碼量
HALTbuildGraph = 功能 ({} , { tempcol = “” , vibcol = “” } ,
如果 ( N項 ( LogCheckBox << 獲得選擇 ()) == 1 , //如果導入了日誌文件
對於 ( 一世 = 1 ,一世 <= 上校 () ,一世 ++,
如果 ( 包含 ( 燒焦 ( 列名 ( 一世 )) , “溫度” ) & 包含 ( 燒焦 ( 列名 ( 一世 )) , “設定點” ) ,
tempcol = 燒焦 ( 列名 ( 一世 )) ,
/ * else if * / 包含 ( 燒焦 ( 列名 ( 一世 )) , “顫音” ) & 包含 ( 燒焦 ( 列名 ( 一世 )) , “設定點” ) ,
vibcol = 燒焦 ( 列名 ( 一世 )) ;
) ;
) ;
如果 ( tempcol == “” , //如果未找到溫度設定值列。
打印 ( “錯誤111a:未找到溫度設定值” ) ;
扔 ()
) ;
如果 ( vibcol == “” , //如果未找到“振動設定點”列。
打印 ( “錯誤111b:未找到振動設定值” ) ;
扔 () ;
) ;
如果 ( N項 ( 圖形列表 ) == 1 ,
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 1 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 1 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ,
/ * else if * / N項 ( 圖形列表 ) == 2 ,
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 1 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 2 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 4 ) ,
線 ( X , ÿ ,傳說 ( 三十 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 1 ] || “&” || 圖形列表 [ 2 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ,
/ * else if * / N項 ( 圖形列表 ) == 3 ,
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 1 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 2 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 3 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 4 ) ,
線 ( X , ÿ ,傳說 ( 三十 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 ,五 ) ,
線 ( X , ÿ ,傳說 ( 31 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 1 ] || “,” || 圖形列表 [ 2 ] || “,&” || 圖形列表 [ 3 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ,
/ * else if * / N項 ( 圖形列表 ) == 4 ,
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 1 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 2 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 3 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 4 ) ,
線 ( X , ÿ ,傳說 ( 三十 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 ,五 ) ,
線 ( X , ÿ ,傳說 ( 31 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 1 ] || “,” || 圖形列表 [ 2 ] || “,&” || 圖形列表 [ 3 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ;
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 4 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 4 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ,
/ * else if * / N項 ( 圖形列表 ) == 五 ,
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 1 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 2 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 3 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 4 ) ,
線 ( X , ÿ ,傳說 ( 三十 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 ,五 ) ,
線 ( X , ÿ ,傳說 ( 31 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 1 ] || “,” || 圖形列表 [ 2 ] || “,&” || 圖形列表 [ 3 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ;
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 4 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 五 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 4 ) ,
線 ( X , ÿ ,傳說 ( 三十 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 4 ] || “&” || 圖形列表 [ 五 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ,
/ * else if * / N項 ( 圖形列表 ) == 6 ,
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 1 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 2 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 3 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 4 ) ,
線 ( X , ÿ ,傳說 ( 三十 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 ,五 ) ,
線 ( X , ÿ ,傳說 ( 31 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 1 ] || “,” || 圖形列表 [ 2 ] || “,&” || 圖形列表 [ 3 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ;
GB = 圖形生成器 (
變量 (
X ( : 測試時間 ) ,
ÿ ( 柱 ( tempcol ) ) ,
ÿ ( 柱 ( vibcol ) ) ,
ÿ ( 柱 ( 圖形列表 [ 4 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 五 ]) ) ,
ÿ ( 柱 ( 圖形列表 [ 6 ]) )
) ,
分子 (
位置 ( 1 , 1 ) ,
線 ( X , ÿ ,傳說 ( 27 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 2 ) ,
線 ( X , ÿ ,傳說 ( 28 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 3 ) ,
線 ( X , ÿ ,傳說 ( 29 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 , 4 ) ,
線 ( X , ÿ ,傳說 ( 三十 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
分子 (
位置 ( 1 ,五 ) ,
線 ( X , ÿ ,傳說 ( 31 ) ,行順序 ( 0 ) ,摘要統計 ( “意思” ) )
) ,
SendToReport (
調度 ({} , “圖表標題” ,文字編輯框 , { 設置文字 ( 圖形列表 [ 4 ] || “&” || 圖形列表 [ 五 ])}) ;
) ;
) ;
gb_rpt = 報告 ( GB ) ;
gb_rpt [ LegendBox ( 1 )] << 刪除 ;
gb_rpt [ 圖片框 ( 1 )] << 期刊窗口 ;
GB << 關閉窗口 ( NOSAVE ) ;
) ,
它繼續但我認為你得到的圖片......
基本上,我已嘗試在圖形構建器的“變量”部分中使用if語句,但JMP似乎根本不喜歡它。 我只是在尋找一種方法來縮短我的代碼並使其更容易閱讀。
再次感謝您分享該示例和這些命令。 以下是上面的代碼現在的樣子。 我會說它比以前好多了。
HALTbuildGraph = 功能 ({} , { tempcol = “” , vibcol = “” } , // 11
如果 ( N項 ( LogCheckBox << 獲得選擇 ()) == 1 , //如果導入了日誌文件
對於 ( 一世 = 1 ,一世 <= 上校 () ,一世 ++,
如果 ( 包含 ( 燒焦 ( 列名 ( 一世 )) , “溫度” ) & 包含 ( 燒焦 ( 列名 ( 一世 )) , “設定點” ) ,
tempcol = 燒焦 ( 列名 ( 一世 )) ,
/ * else if * / 包含 ( 燒焦 ( 列名 ( 一世 )) , “顫音” ) & 包含 ( 燒焦 ( 列名 ( 一世 )) , “設定點” ) ,
vibcol = 燒焦 ( 列名 ( 一世 )) ;
) ;
) ;
如果 ( tempcol == “” , //如果未找到溫度設定值列。
打印 ( “錯誤111a:未找到溫度設定值” ) ;
扔 ()
) ;
如果 ( vibcol == “” , //如果未找到“振動設定點”列。
打印 ( “錯誤111b:未找到振動設定值” ) ;
扔 () ;
) ;
gb_expr = evalinsert ( “\ [
gb =圖形生成器(
變量(
X(:測試時間),
Y(列(tempcol)),
Y(列(vibcol)),
] \“ ) ;
對於 ( 一世 = 1 ,一世 <= N項 ( 圖形列表 ) & 一世 <= 3 ,一世 ++,
如果 ( 一世 == N項 ( 圖形列表 ) | 一世 == 3 ,
gb_expr = gb_expr || evalinsert ( “\ [
Y(graphlist [^ i ^])
)
] \“ ) ,
/*其他*/
gb_expr = gb_expr || evalinsert ( “\ [
Y(graphlist [^ i ^]),
] \“ ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( “\ [
元素(
位置(1,1),
線(X,Y,圖例(27),行順(0),匯總統計(“均值”))
)
元素(
位置(1,2),
線(X,Y,圖例(28),行順(0),匯總統計(“均值”))
)
] \“ ) ;
對於 ( 一世 = 1 ,一世 <= N項 ( 圖形列表 ) & 一世 <= 3 ,一世 ++,
gb_expr = gb_expr || evalinsert ( “\ [
元素(
位置(1,2 + ^ i ^),
線(X,Y,圖例(28 + ^ i ^),行順序(0),摘要統計(“均值”))
)
] \“ ) ;
) ;
gb_expr = gb_expr || evalinsert ( “\ [
SendToReport(
Dispatch({},“graph title”,Text Edit Box,{Set Text(graphlist [1]
] \“ ) ;
如果 ( N項 ( 圖形列表 ) == 1 ,
gb_expr = gb_expr || evalinsert ( “\ [)});
);
] \“ ) ;
) ;
對於 ( 一世 = 2 ,一世 <= N項 ( 圖形列表 ) & 一世 <= 3 ,一世 ++,
如果 ( 一世 == N項 ( 圖形列表 ) | 一世 == 3 ,
gb_expr = gb_expr || evalinsert ( “\ [||”,&“|| graphlist [^ i ^])});
);
] \“ ) ,
/*其他*/
gb_expr = gb_expr || evalinsert ( “\ [||”,“|| graphlist [^ i ^]
] \“ ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( “\ [
);
gb_rpt = report(gb);
gb_rpt [LegendBox(1)] <<刪除;
gb_rpt [PictureBox(1)] <<期刊窗口;
gb <<關閉窗口(nosave)
] \“ ) ;
EVAL ( 解析 ( gb_expr )) ;
如果 ( N項 ( 圖形列表 ) > 3 ,
gb_expr = evalinsert ( “\ [
gb =圖形生成器(
變量(
X(:測試時間),
Y(列(tempcol)),
Y(列(vibcol)),
] \“ ) ;
對於 ( 一世 = 4 ,一世 <= N項 ( 圖形列表 ) ,一世 ++,
如果 ( 一世 == N項 ( 圖形列表 ) ,
gb_expr = gb_expr || evalinsert ( “\ [
Y(graphlist [^ i ^])
)
] \“ ) ,
/*其他*/
gb_expr = gb_expr || evalinsert ( “\ [
Y(graphlist [^ i ^]),
] \“ ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( “\ [
元素(
位置(1,1),
線(X,Y,圖例(27),行順(0),匯總統計(“均值”))
)
元素(
位置(1,2),
線(X,Y,圖例(28),行順(0),匯總統計(“均值”))
)
] \“ ) ;
對於 ( 一世 = 4 ,一世 <= N項 ( 圖形列表 ) ,一世 ++,
gb_expr = gb_expr || evalinsert ( “\ [
元素(
位置(1,2 + ^ i ^ -3),
線(X,Y,圖例(28 + ^ i ^ -3),行順(0),匯總統計(“均值”))
)
] \“ ) ;
) ;
gb_expr = gb_expr || evalinsert ( “\ [
SendToReport(
Dispatch({},“graph title”,Text Edit Box,{Set Text(graphlist [4]
] \“ ) ;
如果 ( N項 ( 圖形列表 ) == 4 ,
gb_expr = gb_expr || evalinsert ( “\ [)});
);
] \“ ) ;
) ;
對於 ( 一世 = 五 ,一世 <= N項 ( 圖形列表 ) ,一世 ++,
如果 ( 一世 == N項 ( 圖形列表 ) ,
gb_expr = gb_expr || evalinsert ( “\ [||”,&“|| graphlist [^ i ^])});
);
] \“ ) ,
/*其他*/
gb_expr = gb_expr || evalinsert ( “\ [||”,“|| graphlist [^ i ^]
] \“ ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( “\ [
);
gb_rpt = report(gb);
gb_rpt [LegendBox(1)] <<刪除;
gb_rpt [PictureBox(1)] <<期刊窗口;
gb <<關閉窗口(nosave)
] \“ ) ;
EVAL ( 解析 ( gb_expr )) ;
) ,