Tracciare UCL/LCL definito nelle colonne nella rigaCIAO,
Qualcuno può condividere come scrivere lo script aggiungendo LCL/UCL a qualsiasi tipo di trama quando questi limiti sono definiti in una colonna in quella riga specifica. La tabella ha diversi parametri che vengono tracciati (identificati dalla colonna Label), quindi ogni grafico ha un diverso insieme di limiti definiti per ciascuno dei tipi di grafico in quella riga.
Ad esempio (allegato), se avessimo due colonne di UCL/LCL nell'esempio di una grande classe con una tabella di dati in pila.
qualcuno può scrivere un breve script per produrre un grafico sovrapposto per l'altezza con LCL e UCL come definito per l'altezza nella rispettiva colonna.
Spero che la domanda abbia senso.
Grazie!!
Re: Tracciare UCL/LCL definito nelle colonne nella rigaQualcuno ha qualche idea su come tracciare questo, quando UCL / LCL sta cambiando nel tempo?
Il metodo proposto da JIM @txnelson funziona alla grande per i limiti UCL/LCL statici. ma con limiti mutevoli non sai come fare?
Ri: Tracciare UCL/LCL definito nelle colonne nella rigaNon sono sicuro di cosa esattamente stai cercando di far fare a Overlay Plot.Ti suggerisco di eseguire la trama in modo interattivo per ottenere la forma che desideri, quindi vai semplicemente al triangolo rosso e seleziona per fare in modo che JMP salvi lo script.Ma per quello che JSL hai mostrato:
Manca un elemento X() nella tua specifica Overlay.Il campione da cui hai indicato di essere cambiato
op = Overlay Plot( Y( :data ), by( :label ) );
non era la forma corretta.L'esempio corretto era
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
Pertanto, la specifica che è necessario utilizzare è:
op = Overlay Plot( Y( :data1, :data2), X(:data3 ), by( :label ) , needle (1) );
Ri: Tracciare UCL/LCL definito nelle colonne nella rigaCIAO,
Come newby JSL ho copiato il tuo approccio e funziona perfettamente per singole colonne di dati tracciati (grazie!). Tuttavia, voglio includere altre 2 colonne (e un ago tra di loro) nella trama. Ciò risulta attualmente in un grafico con le 3 colonne, ma senza UCL/LCL.
Ho cambiato "op = Overlay Plot( Y( :data ), by( :label ) ); "
A
"op = Overlay Plot( Y( :data1, :data2, :data3 ), by( :label ) , needle (1) ); "
Sai perché questo è e come risolverlo? Grazie!
Ri: Tracciare UCL/LCL definito nelle colonne nella rigaIl modo migliore per conoscere quali grafici sono disponibili è consultare il documento Essential Graphing
Aiuto==>Grafici essenziali
Quindi, dopo aver eseguito un grafico, è possibile selezionare dal triangolo rosso nell'output grafico per salvare lo script.È da lì che otterrai il codice su ciò che devi utilizzare per generare i grafici.
Di seguito è riportata una modifica allo script fornito in precedenza.L'ho modificato per verificare che le linee di riferimento siano visualizzate.
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Make sure the UCL and LCL values are displayed
chartMin = Min( :data[dt << get rows where( :Label == byVals[i])]);
chartMax = Max( :data[dt << get rows where( :Label == byVals[i])]);
If(LCL < chartMin, chartMin = LCL );
If(UCL > chartMax, chartMax = UCL );
chartRange5% = (chartMax - ChartMin)/20;
chartMin = chartMin - chartRange5%;
chartMax = chartMax + chartRange5%;
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Min( __min__ ), Max( __max__ ),
Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL,
Expr( __min__ ), chartMin,
Expr( __max__ ), chartMax
)
);
);Ri: Tracciare UCL/LCL definito nelle colonne nella rigaGrazie mille Jim, funziona per i grafici in sovrimpressione. Puoi indicare un riferimento dove posso ( conoscere le impostazioni di altri grafici ) e traccia anche altri grafici. La guida allo scripting non è molto utile.
Inoltre, un'altra cosa, puoi aggiungere una linea che assicurerà che le linee limite siano visibili. Al momento non sono visibili.
Grazie ancora per il tuo tempo.
Ri: Tracciare UCL/LCL definito nelle colonne nella rigaGrazie mille Jim, funziona per i grafici in sovrimpressione. Puoi indicare un riferimento in cui posso tracciare anche altri grafici. La guida allo scripting non è molto utile.
Inoltre, un'altra cosa, puoi aggiungere una linea che assicurerà che le linee limite siano visibili. Al momento non sono visibili.
Grazie ancora per il tuo tempo.
Ri: Tracciare UCL/LCL definito nelle colonne nella rigaEcco uno script iniziale che produrrà ciò che desideri per la tabella dei dati di esempio.Genera un grafico sovrapposto.Per fare lo stesso con i tuoi grafici di variabilità, ci vorranno alcune modifiche, poiché ciascuna delle piattaforme ha opzioni diverse, ecc.
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL
)
);
);Ri: Tracciare UCL/LCL definito nelle colonne nella riga1. Presumo che la colonna Nome sia l'asse X
- Ho usato il grafico sovrapposto come esempio, qualsiasi grafico che ha un valore numerico sull'asse y (ad esempio altezza o peso). L'asse X può essere chiamato come suggerito.
2. I tuoi valori LCL e UCL sono tutti uguali per ciascuna delle righe in cui per le righe definite come "Altezza".Sarà così o con una tabella dati reale i valori LCL e UCL cambieranno?
- I limiti possono cambiare per una categoria diversa nella categoria dell'etichetta. (per chiarire: un LCL/UCL per altezza, qualche altro UCL/LCL per peso)
3. Quando dici "Overlay Plot" ti riferisci specificamente alla piattaforma Overlay in JMP o stai solo indicando che il valore dei dati è sovrapposto con LCL e UCL e la piattaforma Graph Builder potrebbe essere utilizzata?
- Allego il grafico come esempio, che ha un grafico di sovrapposizione e un grafico di variabilità con limiti. (questo è stato generato manualmente aggiungendo linee nella trama), sto cercando trame simili.
Grazie mille per il vostro tempo!!
Ri: Tracciare UCL/LCL definito nelle colonne nella riga1. Presumo che la colonna Nome sia l'asse X
2. I tuoi valori LCL e UCL sono tutti uguali per ciascuna delle righe in cui per le righe definite come "Altezza".Sarà così o con una tabella dati reale i valori LCL e UCL cambieranno?
3. Quando dici "Overlay Plot" ti riferisci specificamente alla piattaforma Overlay in JMP o stai solo indicando che il valore dei dati è sovrapposto con LCL e UCL e la piattaforma Graph Builder potrebbe essere utilizzata?