Este script genera datos en un formato similar a mis datos reales y luego traza gráficos en el diseño que me gustaría.
Se trazan varios parámetros en el eje y a medida que se seleccionan en el filtro de datos local. Esto me resulta útil porque puedo comparar tendencias de parámetros relacionados en mis datos reales.
Sin utilizar la opción "Página" de los creadores de gráficos ni crear columnas adicionales en la tabla de datos, ¿hay alguna manera de obtener escalas independientes de mejor ajuste/eje y automático a medida que se seleccionan los parámetros en el filtro de datos local? Estoy pensando en controlar los árboles de visualización y el controlador de cambio de filtro, pero sé cómo proceder. Un poco de ayuda sería útil.
Names Default To Here(1);
clear log ();
dt = Open("$SAMPLE_DATA/Probe.jmp");
// Combine columns 1
Data Table( "Probe" ) << Combine Columns(columns( :Lot ID, :Wafer Number ), Column Name( "LotWafer" ), Delimiter( "." ));
// Combine columns 2
Data Table( "Probe" ) << Combine Columns(columns( :Die X, :Die Y ), Column Name( "[X,Y]" ), Delimiter( "," ));
// Delete columns
Data Table( "Probe" ) << Delete Columns( :Lot ID, :Wafer Number, :Die X, :Die Y );
grouped_cols = dt << get column group( "Responses" );
// Transpose data table // → Data Table( "Transpose of Probe" )
Data Table( "Probe" ) << Transpose( columns (grouped_cols), By( :LotWafer, :Process, :Start Time ),
Label( :Site ), Output Table( "Transpose of Probe" ));
close (dt, no save);
// Add column
dt = Current Data Table ();
Data Table( "Transpose of Probe" )
<< New Column("Mean", Numeric, "Continuous", Format("Best", 12 ), Formula(Mean( :"1"n, :"2"n, :"3"n, :"4"n, :"5"n )));
//Plot chart
dt = Graph Builder(
Size( 570, 458 ),
Show Control Panel( 0 ),
Y Group Edge( "Left" ),
Variables(X(:LotWafer, Order By( :Start Time, Ascending, Order Statistic( "Mean" ) )),
Y( :Mean ), Group Y(:Label, Order By( :Process, Ascending, Order Statistic( "Mean" ) )) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
Local Data Filter(Conditional, Add Filter(columns( :Label ),Where( :Label == {"30D1_7X100_IL_12V", "30D1_7X100_IL_25V"} ),
Display( :Label, Find( Set Text( "" ) ) ))),
SendToReport(Dispatch({},"Mean",ScaleBox,{ Min( -0.0000336 ), Max( 0.00004544 ), Inc( 0.00001 ),Minor Ticks( 1 )})));Tenga en cuenta los valores mínimos y máximos en la última línea copiados del script después de usar interactivamente Graph Builder para mostrar los datos correctamente.
Si está utilizando Y-Group, creo que los ejes Y están vinculados. Una opción podría ser crear una nueva columna Media que haya sido escalada, de modo que todas las etiquetas se ajusten a ejes similares (también elimine min/max/inc del script del generador de gráficos, para permitir que JMP realice sus propios cálculos de ejes).
@jthi Gracias. Como se mencionó en OP, preferiría no crear nuevas columnas como en mis datos reales, ya que luego necesitaría hacer esto para cientos de columnas.
El escalado automático de JMP no mostraba los datos de manera satisfactoria, por lo que utilicé min/max ( copiado del script después de usar interactivamente Graph Builder para mostrar los datos correctamente, como se menciona en mi OP ).