Ciclo del grafico di variabilità per tutte le colonne selezionate con impostazione specificata dall'utenteCiao ragazzi,
Sono abbastanza nuovo nello scripting JMP. Ho bisogno di un piccolo supporto. Ora sto progettando un'applicazione che fa quanto segue
Fase 1: quando l'utente clicca su un pulsante. Si apre la finestra del grafico di variabilità in cui specifichiamo tutte le colonne per la rappresentazione grafica, il raggruppamento dell'asse x e tutte le impostazioni dalla tabella dati attiva corrente
obj = dt << Grafico di variabilità();
Passaggio 2: Voglio ottenere gli elementi specificati dall'utente in variabili separate come
col_list = elenco di tutte le colonne selezionate in obj
x_grouping = tutte le variabili x specificate
.. per tutti gli argomenti per Variability Chart()
Passaggio 3: dopo aver estratto tutte le informazioni, ora eseguirò un ciclo per ogni variabile di colonna ma
per i==1 (prima colonna) traccerò il grafico nel report... l'utente apporterà alcune modifiche (ad esempio aggiungerà una legenda, specificherà il colore di sfondo, ecc.)
Ora applicherò questo modello (tutte le impostazioni in questo grafico) a tutte le colonne e creerò un report in una nuova finestra per ogni colonna.
Sto riscontrando un problema nei seguenti passaggi: passaggio 2 e passaggio 3 su come estrarre gli argomenti per Variability Chart() ed eseguire l'azione
PS: ho intenzione di implementare parallelamente questa funzionalità anche per altri tipi di grafici \
Per favore, guida
Automazione e scriptingRe: Ciclo del grafico di variabilità per tutte le colonne selezionate con impostazione specificata dall'utenteEcco un esempio di un modo per gestire ciò che credo tu voglia fare. Lo script è molto incompleto e ha bisogno di essere aggiunto a molte eccezioni, ma dovrebbe darti un punto di partenza.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
nw = New Window( "Col List Box Example",
modal,
H List Box(
Col List Box( all, width( 250 ) ),
V List Box(
Lineup Box( N Col( 2 ),
ybb = Button Box( "Y Col" ),
Y = Col List Box( Show( "run" ) ),
xbb = Button Box( "X Col" ),
x = Col List Box(),
Button Box( "Cancel",
nw << close window;
Throw();
),
Button Box( "OK",
ycols = y << get items;
xcols = x << get items;
)
)
)
)
);
// ycols and xcols now have been populated and you can then bring up one graph and
// let the user make the changes
nw = New Window( "Graphical Settings",
modal,
vc = dt << Variability Chart( Y( ycols[1] ), Model( "Main Effect" ), X( xcols[1] ) );
vc << on close(
// In the closing of the Variability Chart capture the script
theScript = Char( vc << get script );
);
);
// Run all of the graphs
For Each( {theCol, index},ycols, Eval( Parse( Substitute( theScript, ycols[1], theCol ) ) ) );Re: Ciclo del grafico di variabilità per tutte le colonne selezionate con impostazione specificata dall'utente@txnelson Grazie mille per la tua intuizione. In realtà il mio obiettivo principale è avere una finestra di report separata per ogni colonna. Ad esempio, se seleziono 5 colonne per Y e nel report otteniamo un grafico per tutti e 5 i parametri. Se aggiungo una legenda, cambio colore ecc. nel 1° grafico nella casella Outline, voglio scrivere uno script per separare ogni grafico in una finestra separata, utilizzando anche le modifiche apportate al 1° grafico. C'è un modo per ottenere questo risultato? Per favore, suggerisci
Re: Ciclo del grafico di variabilità per tutte le colonne selezionate con impostazione specificata dall'utentePasso 1
obj = dt << Variability Chart();
aprirà la finestra di dialogo Grafico di variabilità e, quando l'utente fa clic su OK, tutti i grafici verranno eseguiti contemporaneamente.
Tuttavia, una volta eseguito il Variability Chart, è possibile interrogare lo script restituito dalla Variability Chart Platform e ottenere le X e le Y
obj = Variability Chart( Y( :NPN1, :PNP1 ), Model( "Main Effect" ), X( :SITE ) );
theScript = char(obj << get script);
theYsList = words(word(1,substr(theScript,contains(theScript,"Y(")+2),")"),",");
theXsList = words(word(1,substr(theScript,contains(theScript,"X(")+2),")"),",");
Per il passaggio 2, puoi interrogare direttamente il Displayed Plot e ottenere le varie impostazioni. Dai un'occhiata allo Scripting Index per sapere come ottenere framesize, min e max e increment per i vari assi ecc., che dovrai applicare alle applicazioni aggiuntive del Variability Chart.
Penso che l'approccio da te suggerito creerà più problemi che benefici. Ti suggerisco di creare una tua finestra di dialogo, simile a quella del Variability Chart, anziché usare la finestra di dialogo Variability Chart, che ti consentirà di ottenere tutte le informazioni di cui hai bisogno in anticipo, e quindi i passaggi 2 e 3 diventeranno molto più facili da implementare.
Consultare la Guida allo scripting per informazioni su come creare una nuova finestra di dialogo.
Re: Ciclo del grafico di variabilità per tutte le colonne selezionate con impostazione specificata dall'utenteL'opzione più semplice sarebbe quella di creare tu stesso l'interfaccia utente del launcher del grafico di variabilità. Se non vuoi farlo, puoi usare << Get Script per ottenere lo script che è stato lanciato e analizzare le colonne da quello
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Distribution();
dist = Current Report()[OutlineBox(1)] << Get Scriptable Object;
dist << get script;