2012-06-27 6 views
6

Sto usando Highcharts/Highstock per tracciare una quantità di dati abbastanza grande (~ 10.000 punti). I dati sono costituiti da oggetti Data sull'asse X e galleggiano su Y, formattati come tali: [[(date), 1.728], [(date), 0.346], ...]. Le date sono sempre ad 1 ora di distanza e non ci sono lacune nei dati.Diagrammi Highcoded che non visualizzano i dati con alcuni livelli di zoom

Quando l'intervallo del grafico è> = 21 giorni (in modo che siano rappresentati almeno 21 giorni di dati), il grafico viene visualizzato correttamente. Ogni volta che l'intervallo è inferiore, tuttavia, il grafico diventa vuoto e il suggerimento visualizza ciascun punto come avente un valore Y pari a 0.0. I valori Y per quei punti do esistono nell'array (li vedo in Firebug), ma non sono visualizzati sul grafico. Ecco come sto inizializzandolo:

mainChart = new Highcharts.StockChart({ 
    chart: { 
    renderTo: 'linegraph' 
    }, 

    rangeSelector: { 
    buttons: [{ 
     type: 'day', 
     count: 1, 
     text: '1 d' 
    }, { 
     type: 'week', 
     count: 1, 
     text: '1 wk' 
    }, { 
     type: 'month', 
     count: 1, 
     text: '1 mo' 
    }, { 
     type: 'year', 
     count: 1, 
     text: '1 yr' 
    }, { 
     type: 'all', 
     text: 'All' 
    }], 
    selected: 2 
    }, 

    series: [{ 
    name: 'Electricity usage (kWh)', 
    data: graphData, 
    tooltip: { 
     valueDecimals: 2, 
     valueSuffix: "kWh" 
    } 
    }], 
}); 
+1

Ho un bug molto simile (> = 1,2 anni per i miei dati da mostrare) e ho postato una discussione sul forum Highcharts. Vedi http://highslide.com/forum/viewtopic.php?f=12&t=18665&p=75686#p75686. – FloppyDisk

risposta

2

Si scopre che non è possibile utilizzare Data nell'asse X dei tuoi dati. Utilizzare invece il timestamp Unix della data: Date.getTime(). Oggetti di scena importanti per FloppyDisk per avermi indicato nella giusta direzione.

+1

È possibile accettare la risposta e contrassegnarla risolta –

3

Ho avuto lo stesso problema, ma era tutto normale con i timestamp sull'asse X.

Risolto suddividendo i dati in ordine crescente (fornito inizialmente in ordine inverso).

+1

Ho avuto un problema simile durante lo zoom su un grafico con> 300 punti. Modificando l'ordinamento da decrescente ad ascendente come suggerito, ora posso zoomare su set di dati molto più grandi. Grazie! Non sono sicuro di quale sia il significato del 300 e perché <= 300 funziona correttamente indipendentemente dall'ordine. –

Problemi correlati