我在Google Chart Tool的文档中使用了正确的JSON结构,但请查看:
正如您所看到的, BarChart 看起来很棒,但 PieChart 破了。
我使用相同的数据,你可以在这个JS上看到:
function drawChart() {
var element = $('#overall');
var element2 = $('#overall2');
var link = element.data('link');
var jsonData = $.ajax({
url: link,
dataType:"json",
async: false
}).responseText;
// Create our data table out of JSON data loaded from server.
var data = new google.visualization.DataTable(jsonData);
// Set chart options
var options = {'title':'Overall progress',
'width':400,
'height':300};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.BarChart(element[0]);
chart.draw(data, options);
var chart2 = new google.visualization.PieChart(element2[0]);
chart2.draw(data, options);
}
看起来很奇怪,因为在this example from the docs上,他们使用具有相同JSON的PieChart。
genarated JSON就是这样:
{
"cols": [
{"id": "","label": "Topping","pattern": "","type": "string"},
{"id": "","label": "Slices","pattern": "","type": "number"}
],
"rows": [
{"c": [{"v": "Mushrooms"},{"v": "3"}]},
{"c": [{"v": "Onions"},{"v": "1"}]},
{"c": [{"v": "Olives"},{"v": "1"}]},
{"c": [{"v": "Zucchini"},{"v": "1"}]},
{"c": [{"v": "Pepperoni"},{"v": "2"}]}
]
}
有点不同,没有得到“f”:属性,因为它在服务器端是NULL。我应该只是将null格式化为String并获取:“f”:“null”?没有意义。
感谢。
编辑
ColumnChart和AreaChart都很好。
答案 0 :(得分:1)
问题是你在数字上加上引号:{"v": "3"}
应为{"v": 3}
。