Grafici
La barra degli strumenti che ogni grafico porta e che cosa fa ciascun pulsante, i pannelli della scala, delle statistiche e delle linee di riferimento, la finestra staccata del grafico, dove compaiono i grafici nell'applicazione e l'unico motore dietro tutti loro.
Ogni grafico dell'applicazione è disegnato da un unico motore (ECharts) attraverso un'unica vista di grafico, qualunque cosa lo abbia messo sullo schermo: i componenti Grafico a linee, Grafico a barre e Grafico a torta su una dashboard, la scheda Canali di un pannello di unità, il grafico in tempo reale di una prova nella pagina di Process, il grafico del datalog di una prova registrata negli Storici, l'anteprima del profilo di una ricetta o di una procedura, l'anteprima del criterio di una valutazione e le due finestre staccate più avanti. Ciò che cambia fra loro è da dove viene la configurazione, mai il disegno: un vuoto nei dati è sempre un buco nella linea, mai un ponte, e ogni numero e ogni istante che il grafico scrive seguono le impostazioni di lingua e formati della stazione. Il rapporto PDF disegna la stessa immagine senza nessuno degli strumenti di questa pagina.
La barra degli strumenti
Un grafico porta una fila di pulsanti sopra il suo tracciato: la stessa barra ovunque, a cui si dice per ogni grafico quali pulsanti disegnare. Su un componente di dashboard quell'elenco è la sezione Strumenti delle sue proprietà (L'editor delle dashboard); una superficie a cui non si può chiedere nulla (una prova registrata, l'anteprima di una ricetta) offre ogni strumento che un grafico temporale può onorare. Senza nessuno strumento non viene disegnata nessuna barra.
| Pulsante (il suo suggerimento) | Che cosa fa | Offerto su | Attivo per impostazione predefinita su un sinottico |
|---|---|---|---|
| Apri in un'altra finestra | Apre lo stesso grafico in una finestra propria (vedere più avanti). Soltanto dove il grafico ha un indirizzo proprio: una prova registrata negli Storici, il profilo di una ricetta. Mai su un grafico collocato su un sinottico. | Prove registrate, profili di ricetta | non offerto |
| Seleziona un'area per ingrandirla | Arma l'ingrandimento a riquadro: il trascinamento successivo sul tracciato inquadra il riquadro che disegna invece di spostare la vista. Il pulsante resta acceso finché è armato. | Grafici temporali | sì |
| Reimposta lo zoom | Riporta il riquadro a tutto ciò che è tracciato. | Grafici temporali | sì |
| Imposta la scala a mano | Apre il pannello della scala più avanti. Acceso finché qualcosa è fissato, così una scala che ha smesso di seguire i dati lo dice senza essere aperta. | Grafici temporali | no |
| Minimo, media e massimo della finestra mostrata | Apre il pannello delle statistiche più avanti. Misurato soltanto mentre il pannello è aperto. | Grafici temporali | no |
| Traccia una linea di riferimento | Apre il pannello delle linee di riferimento più avanti. Acceso finché una linea è disegnata. | Grafici temporali | no |
| Salva PNG | Scarica il disegno come PNG al doppio della risoluzione dello schermo, sullo sfondo del tema, chiamato come il titolo del grafico ("chart" quando non ne ha). | Tutti i grafici | sì |
| Copia PNG | Mette lo stesso PNG negli appunti. Un browser che rifiuta le scritture negli appunti non fa nulla, in silenzio. | Tutti i grafici | sì |
| Mostra o nascondi le serie | Apre un elenco delle serie tracciate con una casella da spuntare ciascuna, letto direttamente dal grafico; togliendo la spunta si nasconde una serie finché il sinottico resta aperto. "Nessuna serie" quando non c'è nulla di tracciato. | Grafici temporali | sì |
| Il suggerimento è disattivato / Il suggerimento è attivo | Attiva o disattiva la lettura al passaggio del puntatore. Si apre disattivato, così una mano che attraversa il tracciato non lo copre mai con una casella che nessuno ha chiesto; la scelta dura per la sessione. | Grafici temporali | sì |
| Schermo intero | Riempie la finestra con questo solo grafico, attraverso lo schermo intero di elemento del browser; premendolo di nuovo, oppure con Esc, la finestra torna. Su una dashboard già a schermo intero espande il grafico, ed Esc lascia il grafico prima di lasciare la dashboard. | Tutti i grafici | sì |
Un Grafico a barre o un Grafico a torta possono onorare soltanto la coppia PNG e lo Schermo intero: un confronto letto in questo istante non ha nessun asse da percorrere, nessuna finestra da misurare e nulla su cui posare una linea. È aperto un solo pannello alla volta, e una pressione in qualsiasi altro punto lo chiude.
L'ingrandimento e lo spostamento della vista sono l'impostazione Navigazione del grafico (un riquadro fisso, rotellina e trascinamento, oppure rotellina e trascinamento più una barra di navigazione sotto il tracciato che mostra dove sta il riquadro dentro l'intera registrazione); un grafico con tracciati impilati muove ogni tracciato insieme, perché condividono un unico asse dei tempi. Un gesto non tocca mai ciò che è memorizzato: il grafico disegna ciò che arriva all'area di disegno dall'intervallo visibile, quindi ingrandire rivela sempre i dati veri, e un segno d'angolo può dire se l'immagine è la misura oppure una sua riduzione (Grafico a linee).
Imposta la scala a mano
Il pannello fissa un periodo dell'asse dei tempi e un intervallo dell'asse dei valori, ciascun lato in modo indipendente. Ogni campo conferma quando lo si lascia; un campo vuoto è un lato lasciato libero, che continua ad adattarsi da solo.
| Campo | Che cosa accetta |
|---|---|
| Periodo / Periodo (s da adesso) / Campioni | Le due estremità dell'asse dei tempi, chieste con le parole in cui l'asse è disegnato: due selettori di data e ora su un asse a orologio, due numeri di secondi su un asse relativo, due conteggi di campioni su un asse a campioni. |
| Asse dei valori, minimo e massimo | Le estremità dell'asse dei valori proprio del grafico. Su un grafico con tracciati impilati questo è soltanto il righello del tracciato in cima; il periodo di tempo muove ogni tracciato insieme. |
| Automatico (uno per asse) | Restituisce quell'asse al riquadro che il grafico aveva costruito: una finestra mobile torna a scorrere, un asse scritto con estremità fisse torna a esse, uno scritto senza torna al suo adattamento libero. In grigio finché su quell'asse non è fissato nulla. |
| Carica la finestra mostrata | Riempie tutti e quattro i campi dal riquadro davvero sullo schermo, dopo ogni ingrandimento e spostamento fatto, così fissare ciò che si sta guardando costa una sola pressione. |
Il fissaggio appartiene a questo grafico su questa connessione: non viene mai salvato con il sinottico, un altro browser che guarda lo stesso grafico ha il suo, e chiudendo il sinottico lo si rilascia. Un riquadro fissato che non contiene nessun campione disegna comunque, e lo dice sotto il tracciato: "Dentro la scala fissata non è stato misurato nulla."
Minimo, media e massimo
Il pannello è una tabella con una riga per ogni serie tracciata (una serie che l'autore del sinottico ha disattivato non è sul sinottico e non è nella tabella; una nascosta con la legenda invece sì), colorata con il suo inchiostro, con Minimo, Media e Massimo sui campioni dentro la finestra mostrata, scritti come la stazione scrive i numeri. La riga sopra la tabella dice quale finestra è: "La finestra mostrata, fino al campione più recente." oppure "La finestra mostrata. Il campione più recente sta oltre il suo bordo destro." quando si è tornati indietro nello storico. Il suggerimento di una riga dice quanti campioni della finestra erano letture; un vuoto conta come campione che la finestra conteneva e come nulla nei tre numeri, così nessuna media viene fatta attraverso un buco. Una riga senza nulla da leggere scrive dei vuoti e dice di quale silenzio si tratta: "Di questa serie non è stato campionato nulla nella finestra mostrata." oppure "Ogni campione di questa serie nella finestra mostrata è un vuoto." I numeri seguono i dati in tempo reale finché il pannello è aperto e sono misurati sui campioni stessi, mai sul disegno ridotto.
Linee di riferimento
Una linea di riferimento è una linea a un valore attraverso il tracciato, oppure a un istante lungo di esso, con delle parole che dicono perché sta lì e un colore che la distingue dalla successiva. Il pannello elenca ciò che è disegnato, ciascuna con la sua ✕, e Rimuovi tutto; sotto l'elenco un piccolo modulo disegna la successiva:
| Campo | Che cosa accetta |
|---|---|
| Quale asse | A un valore, oppure l'asse dei tempi con le sue stesse parole: A un istante (un selettore di data e ora), A un secondo (da adesso) oppure A un campione. Cambiando l'asse la posizione si svuota, dato che un valore e un istante non sono lo stesso numero. |
| Dove va la linea | La posizione su quell'asse. Traccia la linea resta in grigio finché non ne contiene una. |
| Che cosa dice la linea | Testo facoltativo disegnato sulla linea. |
| Il colore della linea | Un selettore di colore; una linea nasce ambra. |
| Traccia la linea | La disegna. La posizione e il testo si svuotano per la linea successiva; l'asse e il colore restano. |
Le linee appartengono al grafico che si ha davanti e a nient'altro: non vengono salvate, l'autore del sinottico non ne sa nulla, un'altra connessione non le vede e chiudendo il sinottico finiscono. Un'annotazione che deve sopravvivere allo sguardo appartiene a una prova, dove il file della prova la registra (Prove e commenti).
La finestra staccata del grafico
Apri in un'altra finestra apre il percorso proprio del grafico in una finestra nuova: una vera finestra dell'applicazione sulla stazione, una nuova scheda in un browser remoto. Premendolo di nuovo si porta avanti la finestra esistente invece di aprirne una seconda. Esistono due percorsi:
| Percorso | Che cosa mostra | Aperto da |
|---|---|---|
/chart/run/{id} |
Il grafico del datalog di una prova registrata, ricaricato dal file della prova: le sue serie, le annotazioni, i commenti e le bande approvate della sua procedura per come è configurata adesso. "Prova non trovata" quando l'id non risolve nulla. | Il grafico di una prova negli Storici |
/chart/recipe/{id} |
Il profilo a Gradino, Rampa e Mantenimento di una ricetta, ricostruito dai modelli salvati. "Ricetta non trovata" quando l'id non risolve nulla. | L'editor delle ricette e l'anteprima della ricetta di una procedura |
La finestra si disegna senza la shell: nessuna barra di navigazione, nessuna barra del titolo, nessuna barra di stato, soltanto una barra in alto con il titolo del grafico e Sincronizza la X con il grafico principale ("Rispecchia l'ingrandimento e lo spostamento dell'asse X con il grafico principale"), attiva per impostazione predefinita, sopra il grafico con la sua barra degli strumenti completa. Mentre la sincronizzazione è attiva la finestra entra in un canale identificato dal suo percorso e segue l'ingrandimento e lo spostamento del grafico principale sull'asse dei tempi; disattivata, naviga per conto proprio. Ogni percorso richiede ciò che ammette un'identità a quello che disegna: la finestra di una prova chiede Visualizzare gli storici, lo stesso permesso che ammette al navigatore delle prove registrate da cui viene aperta, e la finestra di una ricetta chiede la politica propria della pagina di Process, che apre uno qualsiasi dei quattro interruttori di Process oppure Visualizzare gli storici. Un ruolo che non ha quello che chiede il suo percorso, o uno declassato mentre la finestra è aperta, non può leggere quel grafico dal suo indirizzo. La finestra è in sola lettura: i commenti e le annotazioni si modificano negli Storici, non qui.
Ciò che gli strumenti non fanno
Nulla sulla barra cambia il sinottico: una serie nascosta, un fissaggio, una linea e lo stato del suggerimento sono tutti stato di questo grafico su questa connessione, e un sinottico riaperto domani si apre pulito. Nulla sulla barra raggiunge un rapporto: il PDF disegna l'immagine che costruisce il suo stesso produttore, senza fissaggi, linee o strumenti. La barra non esporta dati, soltanto immagini: i numeri di una prova escono attraverso le esportazioni degli Storici. E la barra non offre nessuno strumento che il disegno non possa onorare: un confronto di categorie non riceve mai ingrandimento, scala, statistiche o linee, e un grafico su un sinottico non riceve mai una finestra propria.