正在填充Google Charts API,获取“列标题行必须为数组。”

问题描述 投票:1回答:1

我想用我的函数中的数据填充Google图表。我还定义了标题行,但是得到的是"Column header row must be an array."。我该如何解决?我使用了以下代码。

    var data_coll = "";
    var header_x = "['Skill', 'Scoring']";
    data_coll += header_x+',';
    if (skill_info["category"]==="gCSC")
    {
      qcat = 'gCSC';
      for (var x = 0;x<skill_info["data"].length;x+=1)
      {
        ind_name = skill_info["data"][x]["fn"]+" "+skill_info["data"][x]["ln"];
        if ((x<skill_info["data"].length) && (x>0))
        {
          data_coll += ",";
        }
        data_coll += "['"+ind_name+"',"+skill_info["data"][x]["value"]+"]";
      }
      drawChart(data_coll);

我也尝试过var header_x = ['Skill', 'Scoring'];var header_x = array('Skill', 'Scoring';

drawChart是我用来绘制带有data_call的图表的函数,该函数在其中插入arrayToDataTable()的数据。

javascript jquery arrays charts google-visualization
1个回答
0
投票

整个数据集必须是一个数组,并且数据集的每一行必须是一个数组...

数据集应类似于...

[
  ['Skill', 'Scoring'],
  ['name', 10],
]

并且,如果您使用的是javascript,则无需构建字符串,只需直接构建数组...

var data_coll = [['Skill', 'Scoring']];
if(skill_info["category"]==="gCSC")
{
  qcat = 'gCSC';
  skill_info["data"].forEach(function (row) {
    data_coll.push([row["fn"] + " " + row["ln"], row["value"]]);
  });
  drawChart(data_coll);

  ...
© www.soinside.com 2019 - 2024. All rights reserved.