2017-12-26 10 views
0

私はこのCSVを使用してスプラインチャートを作成しようとしています:Highcharts - いいえ、X軸の日付

slave_id,date,time,rtc_temp,temp1,temp2,temp3 
1,2017/12/26,16:42:59,21,11.50,13.13,5.88 
2,2017/12/26,16:43:29,21,14.13,20.63,99.99 
1,2017/12/26,16:44:00,21,11.50,13.13,5.88 
2,2017/12/26,16:44:30,21,14.13,20.63,99.99 
1,2017/12/26,16:45:01,21,11.50,13.13,5.88 
2,2017/12/26,16:45:31,21,14.13,20.63,99.99 
1,2017/12/26,16:46:02,21,11.50,13.13,5.88 
2,2017/12/26,16:46:32,21,14.13,20.63,99.99 

あなたがhere [IMAGE]を見ることができるように、グラフは、日付と時刻を示しているが、 x軸は日付/時刻を受け入れていません。

Iveはdate.UTCを使用しようとしましたが、それでも動作しませんでした。誰かが私を正しい方向に向けることができますか?

https://jsfiddle.net/asvoy6b9/

Full code [Hastebin]

答えて

1

[によるCSVの欠落に動作しない]私はあなたのコード内date変数が文字列であることを参照してください。

  // all data lines start with a double quote 
      line = line.split(','); 
      date = line[1] + " " + line[2]; 

      (...) 

       RTC.push([ 
        date, 
        parseInt(line[3], 10) 
       ]); 

あなたのようにポイントのオプションを構築することを選択した場合2つの値の配列で、最初の値が文字列の場合は、nameプロパティ(ではなく)として扱われます。

説明https://www.highcharts.com/docs/chart-concepts/series

その場合Highchartsは(00:00:00.000のような理由があっている値(1970年1月1日)、00:00:00.001などそれはだ)すべてのポイントのためのx値として、後続の整数を割り当てます。

タイムスタンプに日付を解析する必要があります。これにはDate.UTC()https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)またはその他の関数を使用できます。

私はそれが次のコードを使用して Date.UTCでの作業を取得するために管理してきました
+0

〜無視 - 〜下の完全なコードを –

0

var yyyymmdd = line[2].split("-"); //Split the date: 2017 12 16 
var hhmmss = line[3].split(":"); //Split the time: 16 11 14 
var date = Date.UTC(yyyymmdd[0], yyyymmdd[1] - 1, yyyymmdd[2], hhmmss[0], hhmmss[1], hhmmss[2]); //Stitch 'em together using Date.UTC 
関連する問題