0

SOで他の回答を見てきましたが、私のニーズに応えるものはありません。これは、チャートに日付をプロットする方法を説明するドキュメントです。以下は、サンプル json オブジェクトの 1 つです。

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 に答える