2016-03-28 11 views
0

私は3つの異なるプロットラインからなるハイチャートグラフを持っています。 Y軸は数値形式、X軸はdateTimeです。プロットは正常に表示されているが、Xショー上のラベルは、'00:00:ハイチャート:ミリ秒単位のdateTimeが認識されない

Co2Chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'co2-graph', 
      type: 'spline', 
      animation: Highcharts.svg, 
      marginRight: 10, 
      events: { 
       load: function() { 
        updateData(); 
        setInterval(updateData, 5000); 
       } 
      } 
     }, 
     title: { 
      text: '' 
     }, 
     xAxis: { 
      type: 'datetime', 
      tickPixelInterval: 150, 
      labels: { 
       formatter: function() { 
        return Highcharts.dateFormat('%H:%M:%S', this.value); 
       } 
      } 
     }, 
     yAxis: { 
      title: { 
       text: 'CO2, ppm' 
      }, 
      plotLines: [{ 
       value: 0, 
       width: 1 
      },{ 
       value: 1, 
       width: 1 
      },{ 
       value: 2, 
       width: 1 
      }] 
     }, 
     tooltip: { 
      formatter: function() { 
       return '<b>' + this.series.name + '</b><br/>' + 
        Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' + 
        Highcharts.numberFormat(this.y, 2); 
      } 
     }, 
     legend: { 
      enabled: true 
     }, 
     plotOptions: { 
      spline: { 
       marker: { 
        enabled: false 
       } 
      } 
     }, 
     exporting: { 
      enabled: false 
     }, 
     series: [{ 
      name: 'Master', 
      data: [] 
     }, 
     { 
      name: 'Slave 1', 
      data: [] 
     }, 
     { 
      name: 'Slave 2', 
      data: [] 
     }] 
    }); 

:00' とツールチップは、1月の1-stは1970年

はここでチャートを初期化するための私のコードのショーこの2016-03-28 22:47:49ようになりますDate.parseに渡され

for(var i = 0; i < array.length; i++){ 
       var time = Date.parse(array[i]["dateTime"]); 
       Co2Chart.series[0].addPoint(array[i]["masterCo2"], time); 
       Co2Chart.series[1].addPoint(array[i]["slave1Co2"], time); 
       Co2Chart.series[2].addPoint(array[i]["slave2Co2"], time); 
} 

のDateTime文字列:この1は、データをプッシュ。ミリ秒単位 - 1459198069000

なぜ表示されないのですか?

graph example

+0

あなたはこの」確信しています。価値 "は何よ期待していますか? –

+0

文字列を解析するためにDateコンストラクタ(またはDate.parseは同等です)を使用しないでください。矛盾しており、信頼性がありません。 2016-03-28 22:47:49の形式での文字列の解析は、完全に実装に依存します。 – RobG

+0

@RobG JS 'Dateを使用してdateTime文字列を解析せずに、dateTime文字列をhighcharts許容フォーマットに変換するにはどうすればよいですか? – mityakoval

答えて

1

問題は、あなたがaddPointメソッドを使用する方法です:

Co2Chart.series[0].addPoint(array[i]["masterCo2"], time); 

である必要があります:

Co2Chart.series[0].addPoint([time, array[i]["masterCo2"]]); 

または:

Co2Chart.series[0].addPoint({ 
    y: array[i]["masterCo2"], 
    x: time 
}); 
+0

ありがとうございます!最後の1つは私のために働いた – mityakoval

関連する問題