我正在尝试通过Google Charts API显示一些统计信息,但是由于某种原因,我遇到了这个奇怪的问题,我好几天都找不到。

我收到此错误:


  给定轴上的所有序列必须具有相同的数据类型


这是我的代码:

var data = new google.visualization.DataTable(),
    rows = [];

// Add columns
data.addColumn('datetime', 'Date');
data.addColumn('string', 'Type');
data.addColumn('number', 'Count');

for (var i = 0; i < response.length; i++) {
    for (var j in response[i]) {
        var column = response[i][j];
        rows.push([new Date(column.date), column.collection, Number(column.count)]);
    }
}

console.log(rows);
data.addRows(rows);

var options = {
  title: 'Chart display',
  hAxis: { title: 'Year',  titleTextStyle: { color: '#333' } },
  vAxis: { minValue: 0 }
};

var chart = new google.visualization.AreaChart(document.getElementById(chartId));
chart.draw(data, options);


当我console.log rows变量时,这是输出:

0: Array[3]
    0: Wed Nov 11 2015 16:07:36 GMT+0100 (CET)
    1: "views"
    2: 1
1: Array[3]
    0: Wed Nov 11 2015 16:07:36 GMT+0100 (CET)
    1: "completions"
    2: 1


这似乎完全没问题!任何数据类型都没有错,但是我得到了这个错误。

我看不到问题。

最佳答案

您的数据看起来像这样:

Date      Type          Count
Nov 10    category1     10
Nov 10    category2     13
Nov 11    category1     8
Nov 11    category2     5


它的结构应如下所示:

Date      Category1    Category2
Nov 10    10           13
Nov 11    8            5


更改输入源或使用JavaScript对其进行重组。

08-03 15:04
查看更多