javascript - highcharts:在钻取中使用 JSON

标签 javascript jquery json highcharts drilldown

我是论坛新手,希望获得帮助来完成我的图表! 我的问题是在钻取中调用 json 文件;这是我通过调用 json 得到的结果(例如) http://jsfiddle.net/1dmaduwg/2/这是我编写的用于调用第一个 json 文件的 html 代码和 json 代码。

HTML

<!DOCTYPE html>

    <html>
    <head>
        <title>CHART_1</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <script type="text/javascript" src="http://code.highcharts.com/highcharts.js"></script>
        <script type="text/javascript" src="http://code.highcharts.com/modules/drilldown.js"></script>    
    </head>

    <body>
        <h1 style="background: center; text-align: center; color: #E52B50"> ----------> TEST HIGHTCHARTS <----------</h1>
    <div id="container" style="width: auto; height: 400px; max-width: 1000px; margin: auto">
    <script type="text/javascript">
    $(function () {
        Highcharts.setOptions({
            colors: ['#C80815', '#404040']
        });

    $(document).ready(function() {

             var options = {
                    chart: {
                        renderTo: 'container',


                   backgroundColor: '#EFEFEF', 
                   borderColor: '#FF0000', 
                   borderWidth: 2, 
                   borderRadius: 10, 
                   inverted: false, 
                   type: 'column'
                    },
                    title: {
                        text: 'ACTIVITIES MANAGEMENT ',
                        x: -20 
                    },
                    subtitle: {
                        text: '',
                        x: -20
                    },
                    xAxis: {
                        categories: []
                    },
                    yAxis: {
                        title: {
                            text: 'Activity'
                        },
                        plotLines: [{
                            value: 0,
                            width: 1,
                            color: '#808080'
                        }]
                    },
                    tooltip: {
                        formatter: function() {
                                return '<b>'+ this.series.name +'</b><br/>'+
                                this.x +': '+ this.y;
                        }
                    },
                    legend: {
                        enabled: true
                    },
                plotOptions: {   
                   column: {

                   dataLabels: {
                        enabled: true,
                        color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white'},
                }
                },

                    series: [],

             }

                $.getJSON("test_1.json", function(json) {
                    options.xAxis.categories = json[0]['data'];
                    options.series[0] = json[2];            
                    options.series[1] = json[3];
                    chart = new Highcharts.Chart(options);
                });
            });
          });

    </script>
    </div>

    </body>
    </html>

test_1.json

[
{
"name": "user_name",
"data": ["user_1", "user_2", "user_3", "user_4"]
},
{
"name": "user_id",
"data": ["052193002", "052193007", "052193013", "052193004"]
},
{
"name": "MANAGED",
"data": [52, 13, 42, 10]
},
{
"name": "TO MANAGE",
"data": [12, 3, 32, 1]
}
]

当我单击列或用户名时,我希望为钻取系列中的每个用户提供正确的数据。 是正确的方法还是我必须更改 json (test_2) 来分离数据?

任何人都可以帮我编写将 test_2.json 插入到深入分析中的确切代码吗?

test_2.json

//USER_1
[
{
"name": "activity_name",
"data": [ "Activity 1", "Activity 2", "Activity 3"]
},
{
"name": "MANAGED",
"data": [13, 12, 27]
},
{
"name": "TO MANAGE",
"data": [3, 4, 5]
}
],
//USER_2
[
{
"name": "activity_name",
"data": [ "Activity 1", "Activity 2", "Activity 3"]
},
{
"name": "MANAGED",
"data": [3, 7, 3]
},
{
"name": "TO MANAGE",
"data": [1, 0, 2]
}
],
//USER_3
[
{
"name": "activity_name",
"data": [ "Activity 1", "Activity 2", "Activity 3"]
},
{
"name": "MANAGED",
"data": [13, 17, 12]
},
{
"name": "TO MANAGE",
"data": [13, 7, 12]
}
],
//USER_4
[
{
"name": "activity_name",
"data": [ "Activity 1", "Activity 2", "Activity 3"]
},
{
"name": "MANAGED",
"data": [5, 3, 2]
},
{
"name": "TO MANAGE",
"data": [0, 0, 1]
}
]

谢谢大家!!

最佳答案

我会投票支持单独的文件。

最好不要强制用户下载不需要的数据(更好的图表性能和更低的连接带宽)。

关于javascript - highcharts:在钻取中使用 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27042952/

相关文章:

javascript - Semantic UI React - 当下拉选项列表仍然打开时不触发 onChange

json - 如何在Grails中将域及其关系呈现为JSON

c# - 如何在自定义 session 状态提供程序中将 session 数据转换为 SessionStateStoreData 类型

php - 如何在没有 AJAX 的情况下使用 json_decode 将 JSON.stringify 转换为 PHP?

javascript - 使用 JSLT 为 div 元素添加类

java - 用java解析json

javascript - Chrome : JS loads before HTML

javascript - 如何将 Electron 文件从 'require' 转换为 'import' 以与 TypeScript 一起使用? Angular 2+

javascript - 需要一些帮助来使用 Javascript/jQuery 删除 ' € ' 标志

JQuery Cycle 在页面刷新时失败