Blocca le scale in modo indipendente nel Costruttore di grafici<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Nel Costruttore di grafici c'è un'opzione per bloccare le scale per impedire agli assi di rispondere alle modifiche dei dati. In JSL, la funzione Blocca scale è disponibile per fare lo stesso. Sia nell'interfaccia utente che in JSL, il blocco delle scale influisce su entrambi gli assi x e y. C'è un modo per bloccare le scale degli assi in modo indipendente? Ho uno script, anzi diversi, che genera grafici con Graph Builder, ma che apre anche finestre Data Filter in modo da poter filtrare il grafico proprio come facciamo nel software che stiamo sviluppando per un cliente; JMP viene utilizzato per verificare le funzionalità di reporting del software. Tutti questi grafici sono fissati per mostrare un periodo di 24 ore (da mezzanotte a mezzanotte un giorno alla volta), ma l'asse y dovrebbe adattarsi adeguatamente alla scala dei dati.
A differenza del nostro software, che per impostazione predefinita popola gli intervalli di tempo senza attività con zeri, JMP mostra solo i punti dati in cui esistono dati. Cioè, sto utilizzando l'output del registro eventi del software e verificando che i report del software corrispondano a ciò che produco in JMP utilizzando il registro eventi. Se un evento non si è verificato in un determinato momento, non vi sarà alcuna voce nel registro eventi per quell'ora; più correttamente, quando colleziono i dati, non vengono creati intervalli di tempo per i quali non sono presenti dati. Per questo motivo, a volte l'asse x verrà ridimensionato in un intervallo di tempo basato sui dati disponibili. Questo comportamento è problematico quando si tenta di confrontare il grafico creato da JMP con il grafico generato dal nostro software.
Ri: Blocca le scale in modo indipendente nel Costruttore di graficiL'impostazione della proprietà Axis per una colonna sembra sicuramente una soluzione al mio problema. Nella mia risposta a stephen.pearson Ho notato che a causa di un altro problema che dovevo risolvere, questo problema si è risolto automaticamente, ma conoscere la proprietà Axis per le colonne è sicuramente utile.
Ri: Blocca le scale in modo indipendente nel Costruttore di grafici
stephen.pearson wrote:
One way you can do this would be to use the filter to exclude the undesired rows.
In realtà non ci sarebbero litigi indesiderati. Il problema nasce dal fatto che spesso ci sono meno punti dati rispetto agli intervalli di tempo. I nostri dati sono raggruppati in 96 intervalli di 15 minuti. Nel modello di test non ho riscontrato che nessuno arrivi nel sistema prima delle 6:30. Quando lo script crea il grafico, l'asse x è impostato da mezzanotte a mezzanotte, quindi non ci sono problemi. Il problema è che quando cambio i parametri di filtraggio, ad esempio in un luogo in cui gli eventi si sono verificati solo dalle 6:45 alle 22:30, quegli orari diventano effettivamente gli estremi dell'asse x.
Inoltre, l'esecuzione dello script è stata completata una volta che l'utente può iniziare a modificare le impostazioni del filtro per esaminare vari output. I miei script non sono componenti aggiuntivi o app JSL (non ci sono ancora arrivato) quindi non continuano l'esecuzione dopo il rendering del grafico con le condizioni di filtro iniziali. Alla fine, ho dovuto riempire i contenitori vuoti con zeri per evitare problemi di confronto tra ciò che riporta il software che sto testando e ciò che riporta JMP. Pertanto, tutti i 96 intervalli di tempo vengono sempre popolati e il problema della modifica dell'asse x si è risolto da solo. Detto questo, mi hai dato alcune cose da considerare per il lavoro futuro.
Ri: Blocca le scale in modo indipendente nel Costruttore di graficiIn alternativa ad armeggiare con il report del Costruttore di grafici, puoi assegnare una proprietà "asse" alle variabili che desideri rappresentare graficamente:
http://www.jmp.com/support/help/Expression_Data.shtml
Ri: Blocca le scale in modo indipendente nel Costruttore di graficiUn modo per farlo è utilizzare il filtro per escludere le righe indesiderate. Se includi il seguente codice nello script del costruttore di grafici() (assumendo che la colonna temporale sia continua e chiamata x) dovrebbe avere l'effetto desiderato ma richiede l'impostazione del costruttore di grafici in modo che si aggiorni ogni volta che il filtro viene modificato.
Invia al rapporto(
Spedizione(
{},
"X",
ScaleBox,
{Min( col min(:x) ), Max( col min(:x)+86400 ), Intervallo( "Giorno" ), Inc( 1 ), Grafici minori( 0 )}
)
)
Probabilmente dovrai anche includere un'istruzione if prima del generatore di grafici per gestire l'esclusione di tutte le righe di x.
Ri: Blocca le scale in modo indipendente nel Costruttore di graficiWow, ho sconcertato tutti? O forse questo si è semplicemente perso nell'elenco delle discussioni.