Come verificare se la legenda del generatore di grafici viene visualizzata o menoMi chiedevo quale sarebbe lo script per verificare se la legenda del generatore di grafici viene visualizzata o meno.Voglio creare una scorciatoia della barra degli strumenti che mostri o nasconda la legenda a seconda dello stato in cui si trova la legenda (se mostrata, nascondi e se nascosta mostra).grazie per eventuali suggerimenti!
Steve
SceneggiaturaRe: Come verificare se la legenda del generatore di grafici viene visualizzata o menoHo provato a verificare come vedere se la legenda viene visualizzata o meno, ma non sono riuscito a capire come viene nascosta dall'opzione Mostra legenda(). Anche mostrare le proprietà non ha aiutato.

Quindi l'unica cosa che mi è venuta facilmente in mente è ottenere lo script del generatore di grafici come stringa e quindi controllare se contiene Show Legend(0) ... questo non funzionerà se l'utente ha le preferenze modificate, quindi dovrai controlla anche per loro. Qualcosa del genere potrebbe funzionare (e si spera che ci sia un modo più semplice/più robusto per farlo):
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: Come verificare se la legenda del generatore di grafici viene visualizzata o menoSe utilizzi il messaggio Visibilità per aprire e chiudere la legenda, il messaggio Ottieni visibilità restituirà lo stato.
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>
Tuttavia, lo stato di visibilità non cambierà se la legenda è impostata utilizzando
gb << Show Legend(0);
// or
gb << Show Legend(1);