Hola todos,
He estado buscando este tema en los debates de la comunidad, pero hasta ahora no he tenido suerte.
¿Cómo hacer que el generador de gráficos envíe una escala variable para la variable Y según el rango de datos?
Usando el ejemplo de datos de BigClass Si tuviera más de un gráfico para trazar, usaría el siguiente script:
dt= Open ("Big Class.JMP");
win = New window("Graphs", lub = Lineup Box (Ncol(2)));
Sexs = (Associative Array(Column (dt, "sex"))<<GET keys=""></GET>Este código funciona para mí.Además, la escala Y se ajusta automáticamente, lo cual es genial. Sin embargo, si quisiera mantener algunas características personalizadas, digamos que quiero tener un Y mínimo de 55 como ejemplo, pero me gustaría dejar que JMP seleccione el Y máximo de acuerdo con el rango de datos. ¿Cómo hago eso en este caso?
En mi situación es diferente, me gustaría que el mínimo de Y sea siempre cero ya que tengo una curva con todos los valores que comienzan en cero, pero por alguna razón JMP establece la configuración del eje de las variables a partir de números negativos independientemente. Sin embargo, incluso si quisiera que los valores se mostraran en un mínimo Y específico para todos los gráficos, no puedo hacer que Y Max cambie automáticamente de acuerdo con el rango de datos o hasta el máximo Y real.
Usando la secuencia de comandos anterior y haciendo esto manualmente, tendría la línea de secuencia de comandos resultante al configurar un mínimo de Y solo como 55:
SendToReport(Dispatch({},"height",ScaleBox,{Min( 55 ), Inc( 5 ), Minor Ticks( 1 )}));Verá que los dos gráficos resultantes tendrán el mismo máximo Y independientemente y se establecerán por debajo de 70 aunque uno de los gráficos tenga datos hasta 70.
¿Alguien sabe cómo escribir un script que permita que Y max cambie de acuerdo con el rango de datos o establezca el Max en función del filtro local ya definido?
Gracias
Parece como si el valor máximo estuviera atascado para ambos gráficos.Sin embargo, aquí hay una solución alternativa que permite que los gráficos se ejecuten de forma independiente.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
Sexs = (Associative Array( Column( dt2, "sex" ) ) << Get keys);
For( i = 1, i <= N Items( Sexs ), i++,
dt2 << select where( :sex == sexs[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :sex, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Sex ),
Where( :Sex == Sexs[i] ),
Display( :Sex, Size( 224, 126 ), List Display )
)
)
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
)
;
);