Ho risolto il problema tramite questo post.
Usando Column(listDT,set_groupby) in for char(set_groupby).
Row Legend(
//group by this
Column(listDT,set_groupby),
Color( 1 ),
Color Theme( "JMP default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}Ciao,
(NOTA sul contesto: sto lavorando su un modello di grafico che automatizza la creazione di grafici per ciascuna etichetta (A, B, C, D ed E) nel set di dati (vedi lo script allegato), quindi per aggiungerlo alla stessa finestra di output per una facile esportazione e condivisione. Qui, sto usando un singolo grafico per l'etichetta "A" come esempio per dimostrare cosa c'è che non va nel mio script. )
Ho riscontrato un problema con il mio script JMP che non leggeva la variabile Group-by selezionata dalla selezione dell'utente nella finestra modale. Voglio che l'utente selezioni un nome di colonna "raggruppa per" dai dati che potrebbero essere qualsiasi variabile di gruppo e abbia una legenda e uno schema di colori come nell'esempio seguente.
Nella tabella dei dati JMP allegata, i dati del mio giocattolo hanno la colonna generica "gruppo". Tuttavia, un utente dovrebbe essere in grado di selezionare qualsiasi variabile di carattere (come sito mfg, batch, processo, formulazione) dalla tabella e avere la legenda di raggruppamento e lo schema di colorazione.
Ecco il mio script JMP:
//seleziona i dati nella tabella dati originale Nomi Default To Here( 1 ); dt = tabella dati corrente(); /* 28/02/2022 Modifica ottieni i nomi delle colonne su 1. ottieni la variabile dell'asse x 2. ottieni la variabile di raggruppamento per colorare i punti - deve essere un'opzione none per quando non ci sono gruppi - istruzione logica in seguito se set_groupby è "none ", quindi no - Inoltre, chiedi all'utente quale schema di colorazione dovrebbe essere utilizzato. Colore automatico JMP (blu e rosso) o nessuno (se si colora manualmente in base, ad esempio, all'ID batch) vedere la fonte: https://www.jmp.com/support/help/zh-cn/15.2/index.shtml#page /jmp/get-column-names.shtml */ column_names = dt << Ottieni i nomi delle colonne (numerico, carattere, stringa); //DA FARE: //names_for_groupby_select = //group by dovrebbe essere solo una variabile di carattere, quindi groupby_col_names = dt << Get Column names(character, String); nw1 = Nuova finestra("Imposta asse X e raggruppa per variabile", < 9, 5); // grafico generico (può essere un grafico di controllo o un grafico di processo) Oneway( SendToByGroup( {:Name("Label (y-axis)") == label_val}, Y( :Result ), X( char(set_xlabel) ), / /:Name("asse x") ), Connect Means( 1 ), Grand Mean( 0 ), SendToReport( Dispatch( {}, "Result", TextEditBox, {Set Text( label_val || units_formatted )} ), // dimensione del carattere: Dispatch({}, "2", ScaleBox, {Label Row(Set Font Size( font_size))}), //grafica: Dispatch({}, "Oneway Plot", FrameBox, {Frame Size( 1000 , 300 ), DispatchSeg( CustomStreamSeg( 6 ), {Line Color( "Gray" )} ), Row Legend( //group by this //:Name("Group"), //o anche solo il gruppo funziona char(set_groupby ), // << devono essere specificati dall'utente. //set_groupby, // DA FARE: correggere questo bug! Color( 1 ), Color Theme( "JMP default" ), // DA FARE: << deve essere specificato dall'utente. Indicatore ( 0 ), Tema dell'indicatore ( "" ), Scala continua ( 0 ), Scala inversa ( 0 ), Righe escluse ( 0 ) )} ) ) ) ); ); contenitore << Append(content) );
In questo script JMP, la selezione della colonna dell'asse x funziona (vedi l'esempio della finestra modale e il grafico risultante di seguito), quindi ho ipotizzato che anche il riferimento alla variabile raggruppata funzioni. Ma l'output produce un grafico che non ha alcuna variabile o legenda raggruppata per. Cosa sta facendo il mio codice in modo errato qui?
Finestra modale:
Grafico di esempio dell'output JMP per l'etichetta "A"
Tabella datiGraficaAltroSceneggiaturafinestre