Highcharts - Saltar fecha en serie
-
28-09-2019 - |
Pregunta
Así que estoy tirando algunos datos de una base de datos y obtener una marca de tiempo Unix y un número. Lo que permite decir N (número) se vendió en D (fecha).
Hay días que faltan, como el fin de semana. Necesito todavía para visualizar el día, pero no requiere ningún tipo de datos. Es un gráfico de líneas.
1 abril de 2010, 50 vendió
2 abril de 2010, 53 vendió
7 abril de 2010, 10 vendió
(Tengo más de 1.000 registros que abarcan un varios años - así que voy a añadir un zoom también)
Así que la carta debe todavía feria de abril 1-7, pero no tienen datos para 3-6. (La línea acaba de pasar de 2-7).
¿Alguna idea sobre cómo hacer esto?
Gracias, Josh
Solución
echar un vistazo aquí: http://highcharts.com/ref/#series segundo ejemplo de la propiedad '' de datos.
Sólo tiene que convertir la fecha MySQL, convertirlo a tiempo UNIX (UNIX_TIMESTAMP ()), y luego se multiplica por 1000 (JS necesita tiempo en microsegundos) ...
Otros consejos
Escala del eje x de sus datos al crear la tabla para contar sólo los días en que usted tiene por lo menos una venta, y justo a asegurar que su eje está etiquetada con sensatez.
Esto significaría paso a paso a través de todo el conjunto de datos y asegurarse de que tiene los números secuenciales. Así que podría no ser muy eficiente y sin duda podría beneficiarse de pre-procesamiento (otra de las claves en su base de datos para el "día de la venta" o algo así).
Si es posible entonces u puede mostrar su código.
Puede ser esta liga te va a dar un poco de ayuda. de demostración para especificar nulo para la fecha dada: http: //jsfiddle.net/highcharts/FGRtd/
Se puede trazar sus datos como datos normales Y y utilizar un formateador en el eje x
dates = ['April 1 2010', 'April 2 2010', 'April 7 2010'];
numSold = [50, 53, 10];
chart = new Highcharts.Chart({
series: [{
type: 'line',
data: numSold
}],
xAxis: {
labels: {
formatter: function() {
var dateStr = dates[this.value];
return dateStr;
}
}
}
});