我正在尝试制作折线图,但是当我尝试添加一行数据时,Google Charts不断抛出此错误:
错误:给定的每一行必须为null或数组。 @ ... corechart.I.js:162
以下是我尝试的一些示例列。使列工作正常,只要我不添加任何行,就会显示一个空图。
var data = new google.visualization.DataTable();
data.addColumn('number', 'timestamp');
data.addColumn('number', 'JPY');
data.addColumn('number', 'EUR');
data.addColumn('number', 'SEK');
data.addColumn('number', 'HKD');
data.addColumn('number', 'CHF');
//So far so good
现在,无论我如何尝试使用addRows()传递数组,我都会收到错误。我在这里发现了类似的问题,但是由于代码格式错误或使用不同的方法来传递代码,它们都失败了。所以这是一个简化的测试用例,但仍然失败。
data.addRows([1,2,3,4,5,6]); //Breaks the chart
我也尝试过:
var myrow = new Array(1,2,3,4,5,6);
data.addRows(myrow);
我看不出我怎么能把它变成字面上的数组。我也一次传递了两个,因为所有示例代码似乎都传递了多行。
data.addRows([1,2,3,4,5,6],
[7,8,9,10,11,12]);
仍然失败。
答案 0 :(得分:19)
很容易。 addRows()方法要求您提供一个数组数组,而不是一行的单个数组,而不是每行的单独参数。请参阅文档中的the example。修复你的例子,它应该是这样的:
data.addRows([[1,2,3,4,5,6], [7,8,9,10,11,12]]);
您可能也更喜欢使用addRow()方法,该方法一次只能使用一行。
答案 1 :(得分:2)
我在使用for循环添加行时遇到了同样的问题,但是你可以在documentation本身找到,addRows()期望数组的数组,你想要做的事情可以通过简单实现addRow()没有'S'。
addRow([1,2,3,4,5,6])