Domanda di scripting JSL: come mettere insieme i grafici in uno stesso output<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
Sono nuovo nello scripting JSL.
Ho pochi dati di colonna da scegliere dall'utente per l'analisi.
Il codice che ho scritto genererà diversi grafici pari alle colonne scelte.
Posso sapere come combinare tutti i grafici in un unico output?
Qualcuno può aiutarmi a fornirmi il codice / sintassi?
Codice (ho scartato quelle routine di passaggio delle variabili):
For (i = 1, i <= tot_entry, i ++,
MyDist = Distribution (
Distribuzione continua (
Colonna (eval (analizzatore )), Pila (1), disposizione orizzontale (1), trama quantile normale (1), gambo e foglia (1),
Analisi della capacità (LSL (eval (lsl)), USL (eval (usl)), Target (eval (target)))),
SendToReport (
Dispatch ({}, "Distribuzioni", OutlineBox, {Set Title ("Distribution of" || title)}),
)
);
);
Ri: domanda di scripting JSL: come mettere insieme i grafici in uno stesso output<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Come ha detto PMRoz, questi script non funzioneranno in JMP9. Di seguito una leggera modifica che funzionerà in JMP9 e 10. Notare che la scatola del pannello non è necessaria. L'ho appena aggiunto come dimostrazione.
L'approccio che mi piace prendere è quello di costruire la struttura generale o il layout della mia finestra di visualizzazione o del dialogo, quindi rilasciare le analisi, i grafici e le tabelle.
Con il wrapping di una casella di visualizzazione (un HListBox) attorno alla distribuzione, è ancora attivo. Ovunque, una volta assegnato in una finestra qualsiasi incolla o append successiva è una visualizzazione clonata o inattiva (come un report inserito nel journal).
Quindi i 3 passi, i miei colleghi e io insegniamo ai nuovi utenti JSL sono:
1) Crea il layout, un modello per il tuo display generale, creando un handle per ogni segnaposto nella finestra
2) Per ogni analisi o gruppo di analisi , crea il tuo schermo "nascosto" all'interno di una finestra di visualizzazione (HListBox o VListBox o OutLineBox o PanelBox. ecc.), quindi
3) Aggiungi questo display al segnaposto nella finestra creata nel passaggio 1.
Chiamiamo questo costruendo un display "dal basso verso l'alto". Questo approccio rende molto più facile la gestione di casi speciali, come i limiti di specifiche diverse per ogni variabile LSL e USL , eccetera. ed eseguire il debug dei problemi passo dopo passo.
// ================= Buona sceneggiatura !.
nw = Nuova finestra ("Capability Charts", lub); Open ("$ SAMPLE_DATA / Big Class.jmp");
analyzeelist = {"height", "weight"};
tot_entry = N Items (analizzatore);
lsl = 80;
usl = 90;
target = 70;
title = "MY TITLE";
nw = Nuova finestra ("Grafici di capacità",
pb = riquadro del pannello ("Capacità",
lub = Lineup Box (N Col (1))
));
Per (i = 1, i <= tot_entry, i ++,
hlb = HlistBox (Distribuzione (
Distribuzione continua (
Column (Eval (analizzatore )),
Stack (1), Horizontal Layout (1), Normal Quantile Plot (1), Stem e Leaf (1),
Analisi della capacità (LSL (Eval (lsl)), USL (Eval (usl)),
Target (Eval (target)))),
SendToReport (Invio ({}, "Distribuzioni",
OutlineBox, {Set Title ("Distribution of" || analizzatore )}))
));
lub << append (hlb)
);
Re: Domanda sullo scripting JSL: come mettere insieme i grafici in un unico outputCiao, invece di creare semplicemente un oggetto chiamato MyDist, potresti aggiungere la Distribuzione a una Line Up Box inizialmente vuota e quindi visualizzare tale Line Up Box in una finestra. Quanto segue mostra un esempio, anche se ovviamente i numeri effettivi che ho usato qui non avranno senso nel contesto della tua analisi di capacità. Tieni presente che sto eseguendo questo in JMP 10, poiché penso che non funzionerà in JMP 9:
Apri( "$SAMPLE_DATA/Big Class.jmp" );
analyzelist = {"altezza", "peso"};
tot_entry = N Elementi( analyzelist );
lsl = 80;
lsl = 90;
obiettivo = 70;
titolo = "IL MIO TITOLO";
lub = Lineup Box( N Col( 1 ) );
Per( i = 1, i <= tot_entry, i++,
lub << append( Distribuzione(
Distribuzione continua (
Colonna (Eval (analyzerlist )),
Pila (1), Layout orizzontale (1), Grafico quantile normale (1), Stelo e foglia (1),
Analisi della capacità (LSL (Valutazione (lsl)), USL (Valutazione (usl)),
Obiettivo (Valutazione (obiettivo))),
SendToReport( Dispatch( {}, "Distribuzioni",
OutlineBox, {Set Title( "Distribuzione di " || titolo )} ))
)));
nw = Nuova finestra( "Grafici delle capacità", lub );
/*
Mi dispiace di non poterlo formattare meglio, ma a quanto pare non riesco a incollare lo script direttamente in questa finestra. Puoi comunque riformattarlo dal menu Modifica una volta che è all'interno di una finestra di script. Ecco un altro esempio dello stesso tipo, in cui ho creato una griglia di output dal Generatore di Grafici:
*/
dt = Open( "$SAMPLE_DATA/Dati fisici dell'auto.jmp" );
colnames = dt << ottieni i nomi delle colonne (numerici);
mostra(nomicolonne);
o = allinea box(ncol(3));
per(i=1, i<=nElementi(nomi colonna), i++,
lub << append(Costruttore di grafici(
Dimensioni (300, 200), Mostra pannello di controllo (0), Mostra legenda (0),
Variabili (X( :Paese ), Y( eval(char(nomicolonna )) ) ),
Elementi (Box Plot (X, Y, Legenda (0), Jitter (1), Valori anomali (1), Stile del box ("Valore anomalo"))
))
);
nw = nuova finestra("Box plot", lub);
Re: Domanda sullo scripting JSL: come mettere insieme i grafici in un unico outputPer incollare uno script con tutta la formattazione e i colori intatti, copialo prima da JMP a MS-Word, poi da Word a questo forum. Io sostituisco i caratteri di tabulazione con quattro spazi per ottenere il rientro corretto. Per esempio:
dt= Aprire( "$SAMPLE_DATA/Dati fisici dell'auto.jmp" );
nomi di colonna=dt<<ottenere i nomi delle colonne ( numerici );
Spettacolo(nomicolo );
IL= Box di formazione( N Col( 3 ) );
Per( i = 1, i <= N elementi(nomicolo ), i++,
IL<<aggiungere (
Generatore di grafici (
Misurare (300, 200 ),
Mostra pannello di controllo (0 ),
Mostra legenda (0 ),
Variabili ( X (:Paese ), Y( Valutazione( Char(nomicolo [ i ] ) ) ) ),
Elementi (
Diagramma a scatola (
X,
Y,
Legenda (0 ),
Tremolio (1 ),
Valori anomali (1 ),
Stile della scatola ("Un valore anomalo" )
)
)
)
)
);