Grafico a barre in pila JSL per n numero di colonneCiao,
Vorrei creare uno script di un grafico a barre in pila da una tabella di dati per la quale non so quali saranno le colonne.
1. Ha una tabella di dati creata con le colonne richieste
2. Aggiungere un filtro dati per selezionare le righe richieste ed escludere le restanti
2. Dovrebbe creare un grafico a barre in pila dalle righe disponibili per ciascuna colonna dopo la prima rispetto alla prima colonna.
3. Non si conoscono i nomi delle colonne e il conteggio esatto ad eccezione della prima colonna.
Ho creato un grafico a barre in pila per un insieme di dati e appare come il seguente.
Ho copiato lo script dal generatore di grafici ed ecco come appare.
Graph Builder(
Size( 500, 590 ),
Variables(
X( :BIBID ),
Y( :Name( "Row %(Fail, Column2)" ) ),
Y( :Name( "Row %(Fail, Column3)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column4)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column5)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column6)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column7)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column8)" ), Position( 1 ) )
),
Elements(
Bar(
X,
Y( 1 ),
Y( 2 ),
Y( 3 ),
Y( 4 ),
Y( 5 ),
Y( 6 ),
Y( 7 ),
Legend( 4 ),
Bar Style( "Stacked" )
)
)
);
La mia domanda è come parametrizzare le variabili (Y) e gli elementi (Y) in Graph Builder tramite JSL?
Pass Fail BinPass Fail BinPassa il cestino fallito
Re: Grafico a barre impilato JSL per n numero di colonneLa riga sopra aggiunge solo il primo grafico variabile al ppt.
L'aggiunta di quanto segue salva l'intero grafico nel ppt.
vdb << append( _vlb );
vdb << salva presentazione("C:\Utenti\MT7575\Documenti\analisi1.pptx", Aggiungi); //riga aggiuntaRe: Grafico a barre impilato JSL per n numero di colonneCiao gzmorgan,
Grazie per aver fornito la soluzione.
Sono in grado di salvare il grafico in ppt aggiungendo la riga seguente.
Grazie,
Re: Grafico a barre impilato JSL per n numero di colonne" Mi stupisce sempre come 52 righe di JSL che includono commenti e righe vuote possano fare così tanto. " - Assolutamente!
Re: Grafico a barre impilato JSL per n numero di colonne@ mt7575 , quando si scrive uno script ci sono molte domande a cui è necessario rispondere; ad esempio, dovrebbe essere un display interattivo o creare un grafico e salvarlo come png? a un diario? a PPTX? Non hai menzionato quale versione di JMP stai utilizzando, quale sistema operativo hai (ci sono alcune differenze nella sintassi MAC e Windows), né il livello delle tue abilità JSL. Quando si insegna o si scrive di JSL o di qualsiasi linguaggio di scripting, il modo migliore per essere efficaci è "conoscere i propri strumenti", che è un altro modo per dire che è necessario avere alcune competenze di base per scrivere o addirittura mantenere uno script che qualcun altro scrive per te.
In allegato è uno script scritto per un display interattivo per selezionare quali elementi in X e quali Y tracciare.Utilizza i seguenti "strumenti" JSL. Per ogni elemento elencato di cui non hai eseguito lo script, dovresti passare del tempo in Guida > Indice degli script, esplorando gli script, le opzioni e i messaggi.
- Scatole da esposizione : FilterColSelector, ButtonBox, HListBox, VListBox, PanelBox, GraphBuilderBox
- Oggetti : GraphBuilder, DataFilter, Espressioni, Tabella dati
Non conoscendo la tua abilità JSL, un pulsante Vai con un'espressione allegata viene utilizzato invece se una funzione dinamica "OnChange".
Ho passato un po' di tempo a scrivere questo script perché manca la documentazione della casella di visualizzazione GraphBuilderBox Compagno JSL, 2a ed. ; questo script sarà usato come esempio per un addendum per il libro. Quindi so che a volte è difficile riconoscere tutti gli strumenti che potrebbero essere disponibili. Viene utilizzato lo script e una tabella di dati di esempio. Lo script dipende solo dal fatto che la prima colonna della tabella dati sarà sempre X. Nota dal display, seleziona Inversa per utilizzare il filtro dati come opzione "non utilizzare".
Lo script è stato testato su JMP PRO 12, 13 e 14 su sistema operativo Windows.Mi stupisce sempre come 52 righe di JSL che includono commenti e righe vuote possano fare così tanto.

Re: Grafico a barre impilato JSL per n numero di colonneCiao ian_jmp,
Grazie per la risposta. Sto allegando dati di esempio che il costruttore di grafici utilizza per tracciare il grafico a barre in pila.

Table.jpg è uno screenshot che mostra dati di esempio
JMP:
1. Ho applicato il filtro dati per selezionare le righe in cui il nome della colonna contiene Fail e ha un valore diverso da zero
2. Ho tracciato le righe selezionate utilizzando un generatore di grafici in cui il valore X è BIB_ID e i valori Y sono tutte le colonne di errore
JSL:
Vorrei parametrizzare i passaggi sopra menzionati
1. Ci sarà solo la colonna BIB_ID ogni volta
2. nomi di colonna successiva o n. delle colonne cambia ogni volta
Obiettivo:
1. Devi scrivere JSL per il tipo di dati menzionato in Table.jpg per ottenere un grafico a barre in pila come allegato nel post precedente.
Re: Grafico a barre impilato JSL per n numero di colonneSe stai cercando un codice funzionante, poiché ogni caso può essere leggermente diverso. alcuni dati di esempio aiuterebbero le persone a portarti sulla strada giusta.
Per comprendere l'approccio generale, penso che sia necessario suddividere l'attività in due passaggi, ovvero ottenere le colonne e quindi utilizzare Graph Builder. Per il primo, probabilmente hai bisogno di un 'ColListBox()' (il filtro dati funziona su righe e non colonne). Cerca questo in "Aiuto > Indice degli script". Per il secondo passaggio, e poiché Graph Builder è molto funzionale con molte opzioni, il JSL richiesto può richiedere un po' di attenzione.