Cómo verificar si la leyenda del generador de gráficos se muestra o noMe preguntaba cuál sería el script para verificar si la leyenda del generador de gráficos se muestra o no.Quiero crear un acceso directo en la barra de herramientas que muestre u oculte la leyenda según el estado en el que se encuentre (si se muestra, se oculta y si se oculta, se muestra).gracias por cualquier sugerencia!
Steve
secuencias de comandosRe: Cómo verificar si la leyenda del generador de gráficos se muestra o noTraté de verificar cómo podía ver si la leyenda se mostraba o no, pero no pude averiguar cómo se ocultaba con la opción Mostrar leyenda(). Mostrar propiedades tampoco ayudó.

Entonces, lo único que se me ocurrió fácilmente es obtener el script del generador de gráficos como una cadena y luego verificar si tiene Show Legend (0) en él ... esto no funcionará si el usuario ha cambiado las preferencias, por lo que tendrá que consulta por ellos también. Algo como esto podría funcionar (y con suerte hay una forma más fácil/más robusta de hacerlo):
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: Cómo verificar si la leyenda del generador de gráficos se muestra o noSi usa el mensaje Visibilidad para abrir y cerrar la Leyenda, el mensaje Obtener visibilidad devolverá el estado.
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>
Sin embargo, el estado de Visibilidad no cambiará si la leyenda se configura usando
gb << Show Legend(0);
// or
gb << Show Legend(1);