如何检查图形生成器图例是否显示我想知道检查图形生成器图例是否显示的脚本是什么。我想制作一个工具栏快捷方式,根据图例所处的状态显示或隐藏图例(如果显示则隐藏,如果隐藏则显示)。感谢您的任何建议!
史蒂夫
脚本回复:如何检查图形生成器图例是否显示我试图检查如何查看图例是否显示,但无法弄清楚它是如何被 Show Legend() 选项隐藏的。 显示属性也没有帮助。

所以我唯一容易想到的就是将图形构建器的脚本作为字符串获取,然后检查它是否有 Show Legend(0) ......如果用户的偏好发生了变化,这将不起作用,所以你必须也检查一下。 像这样的东西可能会起作用(并且希望有更简单/更强大的方法来做到这一点):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(Variables(X(:Sex), Y(:Height), Group X(:Age)), Elements(Box Plot(X, Y)));
change_legend_state = function({gb_ref}, {Default Local},
legend_pref = Char(Get Platform Preference(Graph Builder(Show Legend)));
gb_script = Char(gb_ref << Get Script());
If(Contains(legend_pref, "Show Legend(0)") & !Contains(gb_script, "Show Legend(1)"),
gb_ref << Show Legend(1);
,
gb_ref << Show Legend(0);
);
);
wait(1);
change_legend_state(gb);
wait(1);
change_legend_state(gb);
回复:如何检查图形生成器图例是否显示如果您使用可见性消息打开和关闭图例,则获取可见性消息将返回状态。
names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
gb =Graph Builder(
Size( 525, 448 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
report(gb)[legendbox(1)]<<VISIBILITY></VISIBILITY>
但是,如果使用设置图例,则可见性状态不会改变
gb << Show Legend(0);
// or
gb << Show Legend(1);