回复:“分组依据”值在基于模态窗口的图形中不起作用我通过这个帖子。
通过在 char(set_groupby) 中使用 Column(listDT,set_groupby)。
Row Legend(
//group by this
Column(listDT,set_groupby),
Color( 1 ),
Color Theme( "JMP default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}“分组依据”值在基于模态窗口的图形中不起作用你好,
(关于上下文的注意事项:我正在开发一个图形模板,该模板自动为数据集中的每个标签(A、B、C、D 和 E)制作图形(请参阅附加脚本),然后将其附加到同一个输出窗口便于导出和共享。 在这里,我使用标签“A”的单个图形作为示例来证明我的脚本有什么问题。 )
我的 JMP 脚本出现问题,无法从模式窗口中的用户选择中读取选定的 Group-by 变量。 我希望用户从数据中选择一个“分组依据”列名,该列名可以是任何分组变量,并具有图例和着色方案,如下例所示。
在随附的 JMP 数据表中,我的玩具数据具有通用的“组”列。 但是,用户应该能够从表中选择任何字符变量(例如制造地点、批次、工艺、配方)并具有分组依据的图例和配色方案。
这是我的 JMP 脚本:
//选择原始数据表中的数据 Names Default To Here( 1 ); dt = 当前数据表(); /* 2/28/2022 将获取列名称编辑为 1. 获取 x 轴变量 2. 获取用于为点着色的分组变量 - 当没有组时需要为无选项 - 如果 set_groupby 为“无”,则稍后逻辑语句",然后不 - 另外,询问用户应该使用什么配色方案。 JMP 自动颜色(蓝色和红色)或无(如果通过例如批次 ID 手动着色)参见来源:https://www.jmp.com/support/help/zh-cn/15.2/index.shtml#page /jmp/get-column-names.shtml */ column_names = dt << 获取列名(数字、字符、字符串); //TO DO: //names_for_groupby_select = //group by 应该只是一个字符变量,所以 groupby_col_names = dt << Get Column names(character, String); nw1 = New Window("设置X轴并按变量分组", < 9, 5); // 通用图表(可以是控制图或流程图) Oneway( SendToByGroup( {:Name("Label (y-axis)") == label_val}, Y( :Result ), X( char(set_xlabel) ), / /:Name("x axis") ), Connect Means(1), Grand Mean(0), SendToReport( Dispatch( {}, "Result", TextEditBox, {Set Text( label_val || units_formatted )} ), // font size: Dispatch( {}, "2", ScaleBox, {Label Row( Set Font Size( font_size ) )} ), //graph stuff: Dispatch( {}, "Oneway Plot", FrameBox, {Frame Size( 1000 , 300 ), DispatchSeg( CustomStreamSeg( 6 ), {Line Color( "Gray" )} ), Row Legend( //group by this //:Name("Group"), //or just Group works too char(set_groupby ), // << 需要用户指定。 //set_groupby, // TO DO:修复这个错误! Color( 1 ), Color Theme( "JMP default" ), // TO DO: << 需要用户指定。 标记(0),标记主题(“”),连续刻度(0),反向刻度(0),排除行(0))})))); );容器<<追加(内容));
在这个 JMP 脚本中,x 轴列选择有效(请参见下面的模态窗口示例和结果图),因此我假设 group-by 变量引用也将有效。 但是输出会生成一个没有任何分组变量或图例的图表。 我的代码在这里做错了什么?
模态窗口:
标签“A”的 JMP 输出示例图
数据表图形其他脚本视窗