Usando jQuery Flot, puedo pasar un valor de null
al mecanismo de trazado para que no dibuje nada en el trazado. Vea cómo se suprimen los registros faltantes:Pasar valores nulos a la ruta SVG (usando d3.js) para suprimir datos faltantes
Estoy buscando a trasladarse a d3js
, para que pueda tener más profundo control de bajo nivel de los gráficos usando SVG. Sin embargo, todavía tengo que descubrir cómo hacer el mismo proceso de supresión de registros faltantes. La imagen a continuación es un intento de hacer esto, utilizando un valor de 0
en lugar de null
(donde se rompe el paquete d3
). Aquí hay un código para darle una idea de cómo me produjo el siguiente gráfico:
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;
});
Miré hacia arriba el elemento SVG path
en la red de desarrolladores de Mozilla, y descubrí que hay una Comando MoveTo, M x y
, que solo mueve el "lápiz" a algún punto sin dibujar nada. ¿Se ha implementado esto en el paquete d3js
, de modo que no tendré que crear varios elementos path
cada vez que encuentro un registro faltante?
Tenga en cuenta que el uso de MoveTo sería grande para tener huecos en una línea simple (solo recorrido), pero no funcionaría con el relleno verde que muestra arriba. Para eso, necesita formas distintas o comandos de ruta superfluos para llegar a la línea de base, superar la cantidad correcta y volver a subir. – Phrogz
Me encantan los gráficos, pero vea también: http://stackoverflow.com/questions/15259444/drawing-non-continuous-lines-with-d3 –