Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valore<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto tentando di scrivere uno script che popolerà automaticamente un diagramma di esecuzione da un database SQL.L'unico problema che riscontro è l'aggiunta automatica di una linea di riferimento verticale basata sull'etichetta dell'asse x.Posso farlo funzionare con il valore ma non credo che sia adatto alla mia applicazione.Spero di basarlo sull'etichetta anziché sul valore poiché sto anticipando che i valori iniziale e finale del mio asse x cambieranno.Poiché il mio asse sarà un timestamp, sarà sempre un identificatore univoco.Questa è la prima sceneggiatura che sto cercando di scrivere, quindi potrei essermi perso qualcosa di ovvio.
Qualsiasi consiglio o aiuto è molto apprezzato.
Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreGrazie MS!Sembra che funzionerà bene.Proverò a modificarlo questo fine settimana per adattarlo a un campo di input e indirizzarlo alla casella di selezione.
Grazie a tutti per tutti i vostri suggerimenti!
Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreDevo ammettere che quando ho scritto la mia prima risposta, stavo dimenticando che le carte di controllo non utilizzano un asse temporale "proporzionale", in modo che i punti siano distanziati uniformemente qualunque siano i valori datetime effettivi nella tabella. Ciò ha implicazioni sul modo in cui aggiungi effettivamente le linee di riferimento a "AxisBox()". Ma, come mostrano le altre risposte, è ancora possibile fare quello che vuoi.
Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreDi seguito sono riportati due esempi che utilizzano una data tradotta nella relativa etichetta per 1) aggiungere una linea di riferimento e 2) tracciare un sottoinsieme di dati in base all'input dell'utente.
dt = Aprire ( "$SAMPLE_DATA/Controllo qualità/Diametro.jmp" ) ;
// ottiene l'elenco dei livelli unici
Riassumere ( G = di ( dt : Giorno )) ;
//L'utente seleziona una data
Nuova finestra ( "Seleziona data" ,
<< modale ,
Casella di scorrimento ( libbre = Casella di riepilogo ( G , massimo selezionato ( 1 ))) ,
Casella dei pulsanti ( "OK" , il mio appuntamento = libbre << essere selezionato ) ,
Casella dei pulsanti ( "Annulla" )
) ;
//Traduci nell'etichetta n
X = Loc ( G , il mio appuntamento [ 1 ]) [ 1 ] ;
// 1. Grafico di controllo con linea di riferimento su mydate
cc = Carta di controllo (
Etichetta campione ( : Giorno ) ,
KSigma ( 3 ) ,
Grafico col ( : DIAMETRO , Esegui grafico ())
) ;
Rapporto ( cc )[ Scatola degli assi ( 2 )] << aggiungi la linea di riferimento ( X ) ;
// 2. Grafico di controllo per le due settimane precedenti il mio appuntamento
dt = In settimane ( 2 ) ;
cc = Carta di controllo (
Etichetta campione ( : Giorno ) ,
Dove ( Num ( G [ X ]) - dt <= : Giorno <= Num ( G [ X ])) ,
KSigma ( 3 ) ,
Grafico col ( : DIAMETRO , Esegui grafico ())
) ;
Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreIl tuo obiettivo è mostrare la posizione di un cambiamento di processo utilizzando una linea verticale?In tal caso, utilizzerei un asse temporale numerico continuo e aggiungerei linee verticali utilizzando il metodo Aggiungi linea di riferimento, come mostrato di seguito.


Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreCiao Stefano,
Ho provato a impostare la colonna della data su numerico continuo.Tuttavia, il modo in cui sto tentando di scriverlo non sembra funzionare in questo modo poiché la linea di riferimento è ancora basata esclusivamente sul campo del valore.Come si specifica una linea di riferimento al di fuori di una data?Con lo script sopra elencato, non aggiunge una riga di riferimento quando la inserisco nel campo valore.Esiste un modo migliore per utilizzare la linea di riferimento rispetto a come la sto usando io?Oppure stai usando VLine invece della linea di riferimento?Non ho molta familiarità con JSL o con lo scripting in generale, ma sono felice di imparare.Io e la guida allo scripting di JMP stiamo diventando sempre più familiari.
Essendo un umile principiante, qualsiasi aiuto o intuizione è molto apprezzata.
Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreSapevi che puoi impostare le proprietà della colonna della data come numerico continuo? In tal caso è possibile specificare direttamente la posizione della riga come data desiderata. Questo può quindi essere inserito nello script JSL utilizzato per creare il grafico.
Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreGrazie per aver risposto Ian,
Cosa sto cercando di realizzare:
Mi è stato chiesto di creare grafici di esecuzione per diverse variabili su diversi strumenti.Questi dovrebbero iniziare due settimane prima di un cambiamento di processo identificato o sospetto.Non considero questa una mia richiesta temporanea, quindi spero di creare un campo al di fuori di JMP in cui il mittente possa inserire la data desiderata.Quindi, puff, viene visualizzato un diagramma di esecuzione generato con una linea di riferimento nella data in cui sono stati inseriti, risparmiandomi la noia di farlo a loro completa disposizione.
Il mio tentativo di spiegare cosa sto cercando di fare in JMP 12.2:
Ho preso i dati di esempio per il diametro per la dimostrazione.
Grafico di controllo(
Etichetta campione(:GIORNO),
KSigma( 3 ),
Grafico Col( :DIAMETRO, Esegui grafico( Mostra linea centrale( 0 ) ) ),
Invia al rapporto(
Spedizione(
{"Esegui grafico del DIAMETRO"},
"1",
ScaleBox,
{Aggiungi linea di riferimento(4, "Solido", "Nero", "", 1 )}
)
)
)

Funziona benissimo quando so quale valore "impostazione dell'asse x" corrisponde all'etichetta.Nello script sopra il 4 da " {Add Ref Line( 4, "Solid", "Black", "", 1 )}" è la data 04/05/1998. Va tutto bene se il mio primo valore è sempre lo stesso.Tuttavia, mi occuperò solo di una parte della tabella dati alla volta.Vorrei poter richiamare l'etichetta specifica, che sembra essere una data, nello script anziché il valore.Ciò dovrebbe consentirmi di elaborare automaticamente un diagramma di esecuzione per le quattro settimane precedenti la data che mi viene richiesta.
Spero che mi manchi qualcosa di ovvio o forse c'è un modo migliore per affrontare questo problema rispetto a quello che sto tentando attualmente.
Ri: Linea di riferimento verticale basata sull'etichetta dell'asse anziché sul valoreCome penso tu abbia scoperto, puoi aggiungere linee di riferimento (e intervalli) a un asse e, se è l'asse orizzontale, tali linee sarebbero verticali.
Ma, dalla tua descrizione, non sono sicuro di quale logica vuoi utilizzare per posizionare il riferimento. Ad esempio tramite JSL puoi facilmente determinare l'intervallo di date dei dati appena estratti e quindi posizionare la riga "a metà strada". Puoi essere più specifico su quello che vuoi, per favore?