【问题标题】:Google charts' addRows() function does not want to accept an arrayGoogle 图表的 addRows() 函数不想接受数组
【发布时间】:2013-06-17 16:50:48
【问题描述】:

我正在尝试制作折线图,但当我尝试添加一行数据时,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]);

仍然失败。

【问题讨论】:

    标签: javascript arrays google-visualization


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢! addRow() 对我的情况也更方便,也谢谢。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2019-09-26
      • 2019-10-03
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多