<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我正在创建一个脚本,创建一个叠加图,在x轴上有一个变量(价格),在y轴上有两个变量。 我的脚本工作正常,但现在我想创建一个对话框,用户可以在其中选择要在y轴上绘制哪两个变量。 有组合,所以我想使用列出可接受对的无线电盒。 但不幸的是,我无法告诉Overlay命令使用哪些变量。 我的代码的相关部分是:
| | 大纲框(“选择要分析的曲线”,rb = Radio Box( {“最优价格点”, |
| | “冷漠价格点”, |
| | “边缘便宜点”, |
| | “边际点昂贵” |
| | } |
| ) | |
| | 大纲框(“van Westendorf图”, |
| | op =数据表(“vw3”)<<叠加图( |
| | X(:价格), |
| | 选择(rb << Get(),Y(:昂贵,:讨价还价),Y(:太贵,:便宜)), |
我虽然使用choose函数返回相关的Y语句。 但这不起作用。 有什么建议?
谢谢,
沃尔特
谢谢你的建议。 看起来它会起作用,所以我很快就会尝试。
谢谢你的帮助。
沃尔特
不幸的是,你将不得不求助于动态构建一个字符串,其中包含创建叠加图的命令,然后执行该字符串。 这是一个使用evalinsert的示例:
DT = 打开 ( “$ sample_data \ Car Physical Data.jmp” ) ;
choice_list = { “转动圈,位移” , “马力,气罐尺寸” } ;
col_list = { “:转动圈子,:位移” , “:马力,:气罐尺寸” } ;
选项 = 1 ;
NW = 新窗户 ( “选择要分析的曲线” , << 语气 ,
RB = 收音机盒 ( choice_list ,选项 = RB << 得到 ; )
) ;
yaxis_label = choice_list [ 选项 ] ;
yaxis_cols = col_list [ 选项 ] ;
overlay_expr = evalinsert ( “\ [叠加图(
X(:重量),
Y(^ yaxis_cols ^),
SendToReport(
Dispatch({},“”,AxisBox,{添加轴标签(“^ yaxis_label ^”)}),
Dispatch({},“Y”,TextEditBox,{Set Text(“^ yaxis_label ^”)})
)
)] \” ) ;
EVAL ( 解析 ( overlay_expr )) ;
这可能看起来很复杂,但是当JMP不想识别变量时,我一直这样做。
谢谢,但我怎么还告诉Overlay Plot使用哪一对变量(如Y(:昂贵,:讨价还价))?
沃尔特
沃尔特,
这应该修复代码的初始部分:
choice_list = { “最优价格点” ,
“冷漠价格点” ,
“边际便宜点” ,
“边际点昂贵”
} ;
NW = 新窗户 ( “选择要分析的曲线” , << 语气 ,
RB = 收音机盒 ( choice_list ,选项 = RB << 得到 ; )
) ;
yaxis_label = choice_list [ 选项 ] ;