如何檢查圖形生成器圖例是否顯示我想知道檢查圖形生成器圖例是否顯示的腳本是什麼。我想製作一個工具欄快捷方式,根據圖例所處的狀態顯示或隱藏圖例(如果顯示則隱藏,如果隱藏則顯示)。感謝您的任何建議!
史蒂夫
腳本回复:如何檢查圖形生成器圖例是否顯示我試圖檢查如何查看圖例是否顯示,但無法弄清楚它是如何被 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);