Questo script genera dati in un formato simile ai miei dati reali e quindi traccia i grafici nel layout che desidero.
Più parametri vengono tracciati sull'asse y man mano che vengono selezionati nel filtro dati locale. Questo è utile per me perché posso confrontare le tendenze sui parametri correlati nei miei dati reali.
Senza utilizzare l'opzione "Pagina" dei costruttori di grafici o creare colonne aggiuntive nella tabella dati, esiste un modo per ottenere scale indipendenti dell'asse y con adattamento ottimale/automatico quando i parametri vengono selezionati nel filtro dati locale? Sto pensando di ottenere un handle per le strutture di visualizzazione e il gestore delle modifiche dei filtri, ma so come procedere. Sarebbe utile un po' di aiuto.
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 )})));Prendi nota dei valori Min/Max nell'ultima riga copiati dallo script dopo aver utilizzato in modo interattivo il Costruttore di grafici per visualizzare correttamente i dati.
Se stai utilizzando il gruppo Y, penso che gli assi Y siano collegati insieme. Un'opzione potrebbe essere quella di creare una nuova colonna Media che è stata ridimensionata, in modo che tutte le etichette si adattino ad assi simili (rimuovere anche min/max/inc dallo script del generatore di grafici, per consentire a JMP di eseguire i propri calcoli degli assi).
@jthi Grazie. Come menzionato in OP, preferirei non creare nuove colonne come nei miei dati effettivi poiché avrei bisogno di farlo per centinaia di colonne.
La scalabilità automatica di JMP non mostrava i dati in modo soddisfacente, quindi ho utilizzato min/max ( copiato dallo script dopo aver utilizzato in modo interattivo il Graph Builder per visualizzare correttamente i dati, come menzionato nel mio OP ).