Flessibilità grafico/legenda<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho alcuni script funzionanti che manipolano una tabella di dati e creano un grafico.....va tutto bene......
Tuttavia, mi piacerebbe accogliere i cambiamenti nei dati nel tempo.Per esempio -- ci sono attualmente 5 livelli di priorità che possono essere segnalati nel database (es. Blocker, Critical, Major, Minor, Trivial) ---- ma non tutti sono usati durante ogni periodo di report dagli utenti (es. Critical, Maggiore, Minore possono essere le uniche voci per un particolare periodo di riferimento)..... è molto probabile che gli utenti in futuro includano tutte (cioè tutte e 5) le priorità per un particolare periodo di riferimento.Inoltre --- è probabile che per il prossimo periodo di riferimento l'utente possa utilizzare solo 3 dei livelli di priorità.
Il mio dilemma --- il mio attuale script grafico si adatta solo a un numero fisso di priorità ---- quindi se lo costruisco per gestirne solo 4 allora potrei escludere i dati sul grafico ---- Ho provato a forzarlo a sempre mostra 5 priorità ma sembra incasinare la legenda (ordine errato di etichette/colori)........C'è un modo per renderlo dinamico a seconda dei valori dei dati da utilizzare nella "sovrapposizione"?
// Build the visualization Graph to show severity of open defects//
wind = New Window( "Open Defects by Severity",
Graph Builder(
Size( 570, 616 ),
Show Control Panel( 0 ),
Variables(
X( :Name( "Affects Version/s" ) ),
Group Y( :Open_Defects ),
Overlay( :Priority )
),
Elements(
Bar( X, Legend( 2 ), Bar Style( "Stacked" ), Summary Statistic( "N" ) )
),
SendToReport(
Dispatch(
{},
"Affects Version/s",
ScaleBox,
{Show Major Ticks( 0 ), Rotated Labels( "Automatic" )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
2,
Properties( 3, {Line Color( -10931939 ), Fill Color( -10931939 )} ),
Properties( 2, {Line Color( -2062516 ), Fill Color( -2062516 )} ),
Properties( 1, {Line Color( -11722634 ), Fill Color( -11722634 )} ),
Properties( 0, {Line Color( -3383340 ), Fill Color( -3383340 )} )
)}
),
Dispatch( {}, "400", LegendBox, {Position( {3, 2, 1, 0} )} )
)
)
);

Re: Flessibilità grafico/leggendaXam,
Grazie! Grande aiuto!
Kun
Re: Flessibilità grafico/leggendaSembra che tu abbia fatto la parte difficile per ottenere i dati nella giusta forma. Se sono solo i colori particolari che devono essere controllati, prova a utilizzare la proprietà della colonna Value Colors su ogni colonna (puoi impostarli tutti in una volta con la voce di menu Standardize Attributes).

Re: Flessibilità grafico/leggendaXian,
grazie per il tuo aiuto. Il tuo suggerimento sembra non poter risolvere il mio problema. Cerco di spiegare meglio la mia esigenza qui di nuovo. Come puoi trovare nella tabella allegata "ingresso campione di laboratorio", qui registro tutti i tipi, l'ora e la sequenza di ingresso del campione. Cerco di ottenere l'output grap finale come allegato "output grafico desiderato". Colore significa diverso tipo di campione. La sequenza di inserimento del campione è molto importante per noi. La prima voce si troverà nella prima riga di ogni giorno. L'ultima voce si troverà nell'ultima riga di ogni giorno. Ogni cella indica un lotto di campioni.
Ho provato utilizzando il diagramma di celle dopo aver trasformato la tabella originale per ottenere una tabella di trasformazione. Tuttavia, come puoi trovare nella trama delle celle allegata, non riesco a ottenere il colore desiderato. JMP sembra iniziare sempre a colorare dal primo tipo di prodotto. Questo non è il mio modo desiderato. Ho bisogno di fissare il colore per ogni tipo di campione.
Puoi darmi qualche suggerimento? Grazie in anticipo.
Kun
Re: Flessibilità grafico/leggendaKun,
Le barre in pila potrebbero funzionare se aggiungi una categoria bianca di riempimento per gli spazi vuoti. Un'altra idea è l'elemento Heat Map in Graph Builder. Foto allegata. Puoi creare un grafico a dispersione e scegliere un indicatore rettangolare pieno per ogni punto.
Re: Flessibilità grafico/leggendaKun, sono abbastanza nuovo in JMP quindi non sono sicuro che sia in grado di produrre i risultati che stai descrivendo ....
Re: Flessibilità grafico/leggendaGrazie, Twitter!
Il tuo file di tabella e JSL mi aiutano a capire il tuo problema e la soluzione finale. Scopri un caso applicativo importante.
Qui cerco di utilizzare un grafico a barre per mostrare il tipo, la sequenza e i numeri di caricamento giornaliero del campione nel nostro laboratorio.Qui puoi trovare totalmente ci sono 21 tipi di campione per entrare nel nostro laboratorio per testare. Cerco di tenere traccia della loro sequenza di arrivo ogni giorno. Uso un colore per un tipo di campione. Se ci sono gli stessi campioni successivi raggiungono, sarà una barra lunga con lo stesso colore.Ho allegato un grafico prodotto da excel. Credi che possiamo realizzarlo tramite jmp JSL?
Grazie in anticipo.
Kun
Re: Flessibilità grafico/leggendaKun,
In allegato dovresti trovare lo script JMP ( Aggiunta di righe Script.jsl) , la tabella dati ( general_report.jmp ) e uno screenshot dei risultati ( Dopo.jpg )....
Lo script aggiunge 5 nuove righe all'inizio del dataTable, quindi popola quelle 5 righe con 5 nomi di caratteri univoci nella colonna "Priorità".Ciò assicurerà che ogni grafico generato utilizzando questo script mostrerà tutti e cinque i nomi nella legenda.Lo faccio perché man mano che nel tempo vengono generati nuovi dataTable, alcuni avranno tutti e 5 i nomi e altri no.Quando non hanno tutti e 5 i nomi, la legenda non rimane nello stesso ordine o combinazione di colori ---- quindi quando si confrontano i grafici delle esecuzioni precedenti le legende non corrispondono e crea confusione.Forzando i 5 nomi produce Legends coerenti....

Re: Flessibilità grafico/leggendaTwaintwist, grazie per il tuo post per sollevare una domanda importante. Credo che anche qui ho lo stesso problema. Ho qualche difficoltà a capire la tua soluzione finale. Puoi allegare una tabella jmp come esempio per me? Puoi incollare il JSl finale contenente add row e impostare il valore qui in modo che io possa testare. Grazie! Kun
Re: Flessibilità grafico/leggendaOk --- ecco quello che ho e funziona bene.... --- grazie al suggerimento di Xan....
Ho aggiunto 5 righe di dati "vacanti" ---- l'unico campo inserito in ogni riga è nella colonna contrassegnata con "Priorità" ---- Lo script crea 5 righe all'inizio della tabella dati e popola il Priorità colonna con 5 voci
Il resto dello script filtra quelle righe perché nessun altro campo all'interno delle righe contiene dati, quindi queste nuove righe non corrompono i grafici che vengono generati (ovvero mostrando i dati di priorità aggiuntivi).
Ora ogni grafico generato mostra ciascuna delle 5 priorità nella legenda anche se quelle priorità non esistevano nei dati originali ----- questo aiuta con coerenza nello schema di colori che abbiamo sviluppato per ogni priorità e nell'ordine in cui sono presentate la leggenda. ---- popoliamo un PowerPoint con grafici affiancati, quindi è importante che lo schema dei colori e l'ordine all'interno della legenda siano coerenti....
Re: Flessibilità grafico/leggendaXian:
Ci stavo pensando anche io ----- ma temevo che avrebbe "aggiunto" dati falsi ----- ma il tuo suggerimento di aggiungere valori mancanti alle altre colonne potrebbe funzionare --- gli darò un Tentativo
Re: Flessibilità grafico/leggendaBuona domanda. L'unica soluzione che mi viene in mente è aggiungere righe fittizie alla tabella dati che rappresentano tutti i livelli di priorità ma con valori mancanti per le altre colonne.