2012-06-27 15 views
6

Ich benutze Highcharts/Highstock, um eine ziemlich große Datenmenge (~ 10.000 Punkte) zu zeichnen. Die Daten bestehen aus Date-Objekten auf der X-Achse und schweben auf dem Y, formatiert wie folgt: [[(date), 1.728], [(date), 0.346], ...]. Die Daten sind immer 1 Stunde auseinander und es gibt keine Lücken in den Daten.Highcharts zeigen bei einigen Zoomstufen keine Daten an

Wenn der Bereich des Diagramms> = 21 Tage ist (dh mindestens 21 Tage Daten werden grafisch dargestellt), wird das Diagramm korrekt angezeigt. Immer wenn der Bereich kleiner ist, wird das Diagramm leer und der Tooltip zeigt jeden Punkt mit einem Y-Wert von 0,0 an. Die Y-Werte für diese Punkte do sind im Array vorhanden (ich kann sie in Firebug sehen), aber sie werden nicht im Diagramm angezeigt. Hier ist, wie ich es zu initialisieren:

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

Ich habe einen sehr ähnlichen Fehler (> = 1,2 Jahre, damit meine Daten angezeigt werden) und habe einen Thread im Highcharts-Forum gepostet. Siehe http://highslide.com/forum/viewtopic.php?f=12&t=18665&p=75686#p75686. – FloppyDisk

Antwort

2

Es stellt sich heraus, dass Sie nicht Datum in der X-Achse Ihrer Daten verwenden können. Verwenden Sie stattdessen den Unix-Zeitstempel des Datums: Date.getTime(). Hauptstützen auf FloppyDisk, um mich in die richtige Richtung zu weisen.

+1

Sie können akzeptieren, dass Sie antworten und markieren Sie es gelöst –

3

Ich hatte das gleiche Problem, aber es war alles normal mit Zeitstempeln auf der X-Achse.

Es wurde gelöst, indem Daten nach aufsteigender Reihenfolge sortiert wurden (zuerst in umgekehrter Reihenfolge).

+1

Ich hatte ein ähnliches Problem beim Zoomen auf ein Diagramm mit> 300 Punkten. Indem Sie die Sortierreihenfolge von absteigend zu aufsteigend ändern, wie Sie vorgeschlagen haben, kann ich jetzt jetzt auf wesentlich größere Datensätze zoomen. Vielen Dank! Ich bin mir nicht sicher, was die Bedeutung von 300 ist, und warum <= 300 funktioniert gut, egal was die Reihenfolge ist. –

Verwandte Themen