グラフビルダーの凡例が表示されているかどうかを確認する方法グラフビルダーの凡例が表示されているかどうかを確認するためのスクリプトはどうなるのだろうかと思っていました。凡例の状態に応じて凡例を表示または非表示にするツールバーショートカットを作成したいと思います(表示されている場合は非表示、非表示の場合は表示)。提案をありがとう!
スティーブ
スクリプティングRe:グラフビルダーの凡例が表示されているかどうかを確認する方法凡例が表示されているかどうかを確認しようとしましたが、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);
Re:グラフビルダーの凡例が表示されているかどうかを確認する方法Visibilityメッセージを使用して凡例を開いたり閉じたりすると、GetVisibilityメッセージはステータスを返します。
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);