Google 图表 API - 给定轴上的所有系列必须具有相同的数据类型 - 绘制时

Google Charts API - All series on a given axis must be of the same data type - when drawing

我正在尝试通过 Google 图表 API 显示一些统计数据,但由于某种原因,我遇到了这个奇怪的问题,我好几天都弄不明白。

我收到这个错误:

All series on a given axis must be of the same data type

这将是我的代码:

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 重组它。