2017-05-23 8 views
0

私はUNIXのタイムスタンプ、値のリストのリストを持っています。このように:GoogleのグラフでDataTableを作成するときに型が一致しない

stream = [[1485936060000, 268623], [1485936180000, 268624], [1485936300000, 268626]] 

私はUNIXのタイムスタンプが実際の日付として表示されるラインのGoogleグラフを作成したいと考えています。私は、ストリーム配列を反復処理し、それらをすべてDateオブジェクトに変換しようとしましたが、実際には機能しませんでした。

google.charts.load('current', {'packages':['line']}); 
    google.charts.setOnLoadCallback(drawChart); 

var stream = {{ stream }} 
var maximum = {{ maximum }} 
var minimum = {{ minimum }} 
var unit = {{ unitlabel }} 


function drawChart() { 

var data = new google.visualization.DataTable(stream); 
    data.addColumn('number', 'Timestamp'); 
    data.addColumn('number', 'Actual value'); 

    for (var i = 0; i < stream.length; i++) { 
    var d = new Date(+stream[i][0]); 
    stream[i][0] = d; 
} 

data.addRows(stream); 


    var options = { 
    width: 1500, 
    height: 500, 
    isStacked: false, 
    axes: { 
     y: { 
      all: { 
       kWh: {label: 'kWh'}, 
       format: { pattern: 'decimal'}, 
       range: { 
        max: maximum, 
        min: minimum 
       } 
      }, 

     } 
    }, 
    }; 

    var chart = new google.charts.Line(document.getElementById('curve_chart')); 

    chart.draw(data, options); 
} 

ヘルプ:

Uncaught Error: Type mismatch. Value Wed Feb 01 2017 09:01:00 GMT+0100 (Romance Standard Time) does not match type number in column index 0 

ベローは、関数の完全なコードがある:それは、この例外を投げましたか?

+1

列のデータ型を変更します。 data.addColumn( 'datetime'、 'Timestamp'); – karthick

答えて

0

カラムに適切なデータ型を設定する必要があります。エラーは、「番号」

変更あなたの列のデータ型では「日時」を合うようにしようとしていると言うのように

data.addColumn(「日時」、「タイムスタンプ」);

+0

そうです。今私は愚かな気がする。 :D – Ehrendil

関連する問題