<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 )) ;
) ,