¿Cómo configurar el escalado automático del eje con secuencias de comandos?Usando JMP 13, ¿cómo se puede configurar el eje para escalar automáticamente usando comandos de secuencias de comandos?
Un fragmento del código de la secuencia de comandos que muestra una variable simple en su lugar para el mínimo y el máximo.
SendToReport(
Dispatch(
{},
"val",
ScaleBox,
{Min( Axis_min ), Max( Axis_max ), Inc( 1 ), Minor Ticks( 1 ),
Add Ref Line( 5, "Dotted", "Medium Dark Red", "5", 4 )}
),Objetivo: Permitir que algo más (usuario, secuencia de comandos, otro) establezca el eje (mínimo y máximo) específicamente o permitir que el usuario elija "Auto".
La búsqueda en las guías y los documentos de referencia muestra que se puede establecer en un valor numérico, pero no documenta ninguna función de escalado automático.Esperaba que pasar "Auto" o un punto u otro símbolo funcionara, pero no es así.
Además, no es posible omitir la línea de configuración mínima y máxima para lograr la escala automática, ya que rompe el objetivo de permitir que algo establezca el valor.
Gracias por la ayuda por adelantado.
Re: ¿Cómo configurar el escalado automático del eje con secuencias de comandos?disculpas, pero cambié las variables de Axis_min a A. En caso de que alguien no siga desde el documento inicialRe: ¿Cómo configurar el escalado automático del eje con secuencias de comandos?La solución es utilizar la función Revertir eje.Sin embargo, para escribir esto se requiere ayuda adicional.
La clave es verificar la variable que se está utilizando en la configuración del eje para ver si es un número.Si no es así, JMP devuelve un valor faltante. {consulte la guía de secuencias de comandos, página 68, Capítulo 3, en Funciones de caracteres. } Esto permite realizar una comprobación de algo que no sea un número para restablecer el eje a una escala automática, así como pasar un valor a la función de secuencias de comandos.
axisbox(2) es el eje y, y axisbox(1) es para el eje x.El Informe (gp) es el identificador de objeto para el gráfico específico.
if( ( Is Missing(num( A )) | Is Missing(num( B )) ),
Report(gb)[axisbox(2)] << {Revert Axis}; // axisbox(2) is the y axis
);Funciona muy bien.gracias por la ayuda
Re: ¿Cómo configurar el escalado automático del eje con secuencias de comandos?Estoy de acuerdo. Sin embargo, con una ligera modificación, puedo escribir esto para que funcione. Estoy publicando los detalles a continuación.Re: ¿Cómo configurar el escalado automático del eje con secuencias de comandos?Creo que si elimina el argumento Enviar a informe (), no forzará la configuración específica del eje y JMP escalará automáticamente el eje. Este argumento se usa para replicar la configuración cuando guarda un script. De lo contrario, sería innecesario. La idea de Jim es la solución correcta cuando se impusieron configuraciones específicas, pero eliminar esta parte del script hará que ese paso adicional sea innecesario.
Send to Report() no es la forma recomendada de escribir objetos. En su lugar, envíe mensajes al objeto de destino.
Re: ¿Cómo configurar el escalado automático del eje con secuencias de comandos?Creo que lo que quieres usar es el mensaje Revertir eje.Establece el eje de nuevo a lo que calcula automáticamente para una plataforma determinada.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :weight ), X( :height ), FitLine );
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Max( 120 );
axisbox << Revert Axis;