0

我已经查看了 SO 的其他答案,但没有一个能满足我的需要。这是说明如何在图表上绘制日期的文档。以下是示例 json 对象之一:

datetime: "2012-07-07"
hours: "0.6"
shop: "WalMart"
name: "Andrew"
__proto__: Object

我使用以下代码添加行和列:

google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);

function drawChart() {
  var data = google.visualization.arrayToDataTable();
  data.addColumn('date', 'Date');
  data.addColumn('number', 'Hours');  
  $.each(hour_logs, function(key, value){// hour_logs is the collection of json objects, the sample is shown above.
    ymd = value.datetime.split("-");
    var dt = new Date(parseInt(ymd[0]), parseInt(ymd[1]), parseInt(ymd[2]));         
    data.addRow(dt, parseInt(value.hours));
  }); 
  console.log(data);
  var options = {
    title: 'Daily Logs',
    displayAnnotations: true,  
  };
  var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
  chart.draw(data, options);
}

但我收到一个错误,未捕获的错误:不是数组。如何修复它。

4

1 回答 1

0

添加行时,您没有提供数组。

应该:

data.addRow([dt, parseInt(value.hours)]);

代替:

data.addRow(dt, parseInt(value.hours));
于 2012-07-07T22:01:50.953 回答