Utilizzando jQuery Flot, è possibile passare un valore null
al meccanismo di stampa in modo che non disegni nulla sul grafico. Vedere come i record mancanti vengono soppresse:Passa valori null al percorso SVG (utilizzando d3.js) per eliminare i dati mancanti
Sto cercando di passare a d3js
, in modo che io possa avere più profondo controllo di basso livello della grafica utilizzando SVG. Tuttavia, devo ancora scoprire come fare lo stesso processo di soppressione dei record mancanti. L'immagine sotto è un tentativo di fare questo, usando un valore di 0
invece di null
(dove il pacchetto d3
si rompe). Ecco il codice per darvi un'idea di come ho prodotto il grafico qui sotto:
var line = d3.svg.line()
.x(function(d) {
var date = new Date(d[0]);
return x(date);
})
.y(function(d) {
var height = d[1];
if (no_record_exists) {
return y(0);
}
return y(height) + 0.5;
});
ho guardato l'elemento SVG path
al Mozilla Developer Network, e ho scoperto che c'è un Comando MoveTo, M x y
, che sposta la "penna" solo su un punto senza disegnare nulla. È stato implementato nel pacchetto d3js
, in modo da non dover creare diversi elementi path
ogni volta che trovo un record mancante?
noti che usare MoveTo sarebbe grande per avere spazi vuoti in una linea semplice (solo a tratti), ma non funzionerebbe con il riempimento verde mostrato sopra. Per questo, hai bisogno di forme distinte o di comandi del percorso superfluo per scendere alla linea di base, superare l'importo corretto e tornare di nuovo. – Phrogz
Adoro i grafici, ma vedi anche: http://stackoverflow.com/questions/15259444/drawing-non-continuous-lines-with-d3 –