数据未显示在Google Chart中

时间:2014-08-18 15:38:08

标签: javascript json charts google-visualization

我已经查看了有关如何将json Feed添加到我的Google图表中的每个帖子,但似乎没有任何工作或线程与我的问题略有不同。

更新:我试图解析我的json Feed只显示某些列。例如,我的Feed包含“实际”和“目标”列。我希望我的图表只显示实际列。我需要在后端使用目标列来过滤原因,因此当数据库中的Feed更新时,它知道要提取哪些记录。

在仔细遵循Google图表的json格式并找出添加数据的方法之后,我仍然未能成功显示实际数据。奇怪的是,图表显示出来,它只是没有任何数据。我的控制台没有错误。我确保我的json字符串有效,确实如此。我已经尝试记录我的json提要,以确保正确传递信息,确实如此。添加列,如代码中所示,但是刚刚赢得的行不会显示。

我相信在我的data.addRow行中,我没有正确遍历,但似乎无法弄清楚如何正确地进入特定的单元格。

function drawChart() {
      $.ajax({
      url: "--",
      dataType:"json",
      success: function (result) {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Quarter'); 
        data.addColumn('number', 'Actual'); 

        for (var i = 0; i < result.rows.length; i++) {
          data.addRow([result.rows[i], result.rows[i], result.rows[i]]);
        }

这是我的json feed:

{ "cols":[ {"label":"Quarter", "type":"string"},{"label": "Actual", "type":"number"}, {"label":"Goal","type":"number"}], "rows":[ {"c":[{"v":"Q1"}, {"v":22}, {"v":30}]}, 
 {"c":[{"v":"Q2"}, {"v":24}, {"v":30}]}, 
 {"c":[{"v":"Q3"}, {"v":27}, {"v":30}]} 
]} 

2 个答案:

答案 0 :(得分:0)

您可以使用原始JSON构建DataTable:

var data = new google.visualization.DataTable(json);

然后使用DataView过滤掉“目标”列:

var view = new google.visualization.DataView(data);
view.setColumns([0, 1]);

使用DataView而不是DataTable绘制图表:

chart.draw(view, options);

答案 1 :(得分:0)

您可以将响应数据从ajax调用(以Json格式化)传递到DataTable

var data = new google.visualization.DataTable(responseData);