我在 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);
}
这看起来很奇怪,因为在文档中的这个示例中,他们使用了具有相同 JSON 的 PieChart。
生成的 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。我是否应该将 send null 格式化为 String 并获取: "f": "null" ?没有意义。
谢谢。
编辑
ColumnChart 和 AreaChart 也都很好。