我已经查看了有关如何将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}]}
]}
答案 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);