使用带有x轴日期的谷歌图表json数据绘制简单折线图

时间:2012-07-07 18:19:21

标签: javascript jquery google-visualization

我已经看了SO的其他答案,但没有一个能满足我的需要。 这是documentation,它告诉我们如何在图表上绘制日期。以下是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);
}

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

1 个答案:

答案 0 :(得分:0)

添加行时,您不提供数组。

应该是:

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

而不是:

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