googlechart json javascript的动态数组

时间:2014-10-30 08:44:46

标签: javascript arrays json google-visualization

我想用googlechart(https://google-developers.appspot.com/chart/interactive/docs/gallery/linechart)制作折线图。 但是我无法为图表格式化数组。

数组必须如下所示:

var data = google.visualization.arrayToDataTable([
  ['Year', 'Sales', 'Expenses'],
  ['2004',  1000,      400],
  ['2005',  1170,      460],
  ['2006',  660,       1120],
  ['2007',  1030,      540]
]);

我正试图这样做:

var data = google.visualization.arrayToDataTable([['Year', 'Marque1', 'Marque2', 'Marque3', 'Marque4']]);
var i=1;
msg.forEach(function(entry) {               
    data.addRows([
      ['2004',  i-1,      0,      i,      6],
      ['2004',  i,      0,      i,      6],
      ['2004',  i+1,      0,      i,      6]
    ]);                 
    i++;
});

这不是真正的价值观,但是当我能够制作阵列时,我会设置它们。

我运行时在浏览器控制台中出现此错误:

Uncaught Error: Type mismatch. Value 0 does not match type string in column index 1 

当我输入一些字符串时,Google会向我发送错误消息而不是图表:

Data column(s) for axis #0 cannot be of type string

1 个答案:

答案 0 :(得分:2)

我不知道我是否明白你的意思,但试试这个:

var rows = new Array();
rows.push(new Array('Year', 'Marque1', 'Marque2', 'Marque3', 'Marque4'));
var i = 1;
msg.forEach(function(entry) {
    rows.push(new Array(5, 5, 5, 5, 5)); // replace it with your values
}
var data = google.visualization.arrayToDataTable(rows);