我有以下脚本,需要稍微修改一下。这是 json:
[
{"User1":{"v": 50.00,"f": "£100"}},
{"User2":{"v": 10.00,"f": "£20"}},
{"User3":{"v": 10.00,"f": "£20"}},
{"User4":{"v": 10.00,"f": "£20"}},
{"User5":{"v": 20.00,"f": "£40"}}
]
这是脚本:
<html>
<head>
<script language="javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChartAjax);
function drawChartAjax() {
$.ajax({
url: 'chart_json.aspx',
type: 'POST',
dataType: 'json',
success: function(data) {
drawChart(data);
}
});
}
function drawChart(json) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'User');
data.addColumn('number', 'v');
data.addRows(json.length);
for(var j in json) {
for(var k in json[j]) {
data.setValue(parseInt(j), 0, k);
data.setValue(parseInt(j), 1, json[j][k].v);
}
}
var chart = new google.visualization.PieChart( document.getElementById('chart_div') );
chart.draw(data, {width: 500, height: 300, is3D: true, title: 'Work In Progress'});
}
</script>
</head>
<body>
<div id="chart_div"></div>
</body>
</html>
这通过给我一个漂亮的饼图来实现,如何从 JSON 数据将“f”值也获取到图表中?
最佳答案
添加 f 列:
data.addColumn('number', 'v');
data.addColumn('number', 'f'); // <- new line
并将数据添加到行中:
for(var k in json[j]) {
data.setValue(parseInt(j), 0, k);
data.setValue(parseInt(j), 1, json[j][k].v);
data.setValue(parseInt(j), 2, parseInt(json[j][k].f.substring(1))); // <- new line
}
但是,我不知道饼图如何处理这个问题。
关于jquery - 谷歌图表格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3266505/