2017-05-23 28 views
0

我有一個列表的unix時間戳列表的值。像這樣:在谷歌圖表中創建數據表時類型不匹配

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

我想創建一個線性谷歌圖表,其中的unix時間戳將作爲實際日期可見。我嘗試遍歷流數組並將它們全部轉換爲Date對象,但它並不真正起作用。它拋出該異常:

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 

貝婁是函數的全碼:

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); 
} 

幫助?

+1

更改列數據類型 data.addColumn('datetime','Timestamp'); – karthick

回答

0

您必須爲列設置適當的數據類型。像錯誤說你企圖在「數」

改變您的列數據類型,以適應「日期時間」

data.addColumn(「日期時間」,「時間戳」);

+0

是的,它做到了。我現在感到很蠢。 :d – Ehrendil