8

我正在尝试制作折线图,但是当我尝试添加一行数据时,Google Charts 不断抛出此错误:

错误:给定的每一行必须为空或数组。@ ...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]);

仍然失败。

4

2 回答 2

22

容易的。addRows() 方法希望您提供一个数组数组,而不是为一行提供一个数组,也不是为每一行提供单独的参数。请参阅文档中的示例。修复您的示例,它应该如下所示:

data.addRows([[1,2,3,4,5,6], [7,8,9,10,11,12]]);

您可能还更喜欢使用 addRow() 方法,该方法一次只占用一行。

于 2013-06-17T20:13:48.183 回答
2

我在使用 for 循环添加行时遇到了同样的问题,但是您可以在文档本身中找到 addRows() 期望数组数组,您尝试做的事情可以通过简单的 addRow() 来实现,而无需使用 'S '。 addRow([1,2,3,4,5,6])

于 2018-03-16T08:43:43.360 回答