jquery - 谷歌图表格式

标签 jquery javascript google-visualization

我有以下脚本,需要稍微修改一下。这是 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/

相关文章:

javascript - Google Charts Y 轴未排序

javascript - 为什么 jQuery 与其他 Javascript 框架相比被广泛采用?

javascript - 提交图片上传表单 PHP

javascript - 必填字段验证器 asp.net 更改文本框的 css

javascript - Vue watch[fat arrow scope] 提供了错误的 this 上下文

javascript - 谷歌烛台图表上的多条线

javascript - 鼠标悬停时如何向上移动框?

javascript - AngularJs jQuery : Add HTML dynamically

javascript - 日历上的下一个和上一个功能

charts - Google 仪表图表 - 为每个仪表部分添加文本标签