Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在向下钻取highchart中填充动态json值_Javascript_Jquery_Json_Highcharts_Drilldown - Fatal编程技术网

Javascript 如何在向下钻取highchart中填充动态json值

Javascript 如何在向下钻取highchart中填充动态json值,javascript,jquery,json,highcharts,drilldown,Javascript,Jquery,Json,Highcharts,Drilldown,我试图在向下钻取的highchart中动态填充下面的json,但数据并没有按预期填充 我想获取所有用户并将其放入图表中,在每个用户的向下搜索中,我要显示成功、错误、取消、访问、注册、卸载 我用静态数据创建了rill down highchart,请查看以下链接: 此图是我的预期结果: http://jsfiddle.net/jqueryb/ndfk7vgd/2/ 我的JSON: var result= [ { "userId": "user1",

我试图在向下钻取的highchart中动态填充下面的json,但数据并没有按预期填充

我想获取所有用户并将其放入图表中,在每个用户的向下搜索中,我要显示成功、错误、取消、访问、注册、卸载

我用静态数据创建了rill down highchart,请查看以下链接:

此图是我的预期结果:

http://jsfiddle.net/jqueryb/ndfk7vgd/2/
我的JSON:

var result=    [
      {
        "userId": "user1",
        "success": 1,
        "error": 0,
        "cancel": 0,
        "visit": 3,
        "enroll": 2,
        "uninstall": 0
      },
      {
        "userId": "user2",
        "success": 2,
        "error": 0,
        "cancel": 0,
        "visit": 4,
        "enroll": 2,
        "uninstall": 0
      },
      {
        "userId": "user3",
        "success": 1,
        "error": 0,
        "cancel": 0,
        "visit": 2,
        "enroll": 1,
        "uninstall": 0
      },
      {
        "userId": "user4",
        "success": 0,
        "error": 0,
        "cancel": 2,
        "visit": 4,
        "enroll": 2,
        "uninstall": 0
      }
    ]
我尝试在下面的代码中动态填充向下钻取中的值,但没有成功:(


功能负载图(结果){
var user_data=[];
$.each(JSON.parse(JSON.stringify(result)),函数(idx,obj){
user_data.push(['{name:'+obj.userId+',y:1}']);
});
var测试数据='['+用户数据+'];
$(“#容器”)。高图({
图表:{
类型:“列”
},
标题:{
文本:“基本向下展开”
},
xAxis:{
类型:“类别”
},
图例:{
已启用:false
},
打印选项:{
系列:{
边框宽度:0,
数据标签:{
已启用:true
}
}
},
系列:[{
名称:'事物',
colorByPoint:对,
数据:测试数据
}]
});
}
如果有人能帮我解决这个问题,我将不胜感激。
提前感谢。

在php while循环中,当var结果来自查询结果时,如何在图表中使用下面的var结果部分

var result = [
{
    "userId": "user1",
    "success": 1,
    "error": 0,
    "cancel": 0,
    "visit": 3,
    "enroll": 2,
    "uninstall": 0
},
{
    "userId": "user2",
    "success": 2,
    "error": 0,
    "cancel": 0,
    "visit": 4,
    "enroll": 2,
    "uninstall": 0
},

etc...

];
为highcharts正确构建数据:

当数据是json格式时,您可以使用js基本对象来构建它

看到它在这里工作:

按如下方式构建系列数据:

    var user = {};
    user.name = obj.userId;
    user.y = 1;
    user.drilldown = obj.userId;
    user_data.push(user);
然后在同一循环中构建向下钻取:

    var drilldown_user = {};
    drilldown_user.id = obj.userId;

    drilldown_user.data = [];        
    drilldown_user.data.push(['success', obj.success]);
    drilldown_user.data.push(['error', obj.error]);
    drilldown_user.data.push(['cancel', obj.cancel]);
    drilldown_user.data.push(['visit', obj.visit]);
    drilldown_user.data.push(['enroll', obj.enroll]);
    drilldown_user.data.push(['uninstall', obj.uninstall]);

    drill_down_data.push(drilldown_user);
总而言之:

var user_data = [];
var drill_down_data = [];

$.each(JSON.parse(JSON.stringify(result)), function(idx, obj) {
    var user = {};
    user.name = obj.userId;
    user.y = 1;
    user.drilldown = obj.userId;

    user_data.push(user);

    var drilldown_user = {};
    drilldown_user.id = obj.userId;

    drilldown_user.data = [];
    drilldown_user.data.push(['success', obj.success]);
    drilldown_user.data.push(['error', obj.error]);
    drilldown_user.data.push(['cancel', obj.cancel]);
    drilldown_user.data.push(['visit', obj.visit]);
    drilldown_user.data.push(['enroll', obj.enroll]);
    drilldown_user.data.push(['uninstall', obj.uninstall]);

    drill_down_data.push(drilldown_user);

});

构建数据并正确传递。您必须首先构建序列数据。此外,您还没有构建向下钻取数据。是的,我没有构建向下钻取,因为我的序列数据本身没有正确生成,我尝试动态构建序列数据,但数据填充不正确。如果**测试数据**动态生成,但我正在执行某些操作这里有什么错误:(你在控制台中遇到了什么错误?
var user_data = [];
var drill_down_data = [];

$.each(JSON.parse(JSON.stringify(result)), function(idx, obj) {
    var user = {};
    user.name = obj.userId;
    user.y = 1;
    user.drilldown = obj.userId;

    user_data.push(user);

    var drilldown_user = {};
    drilldown_user.id = obj.userId;

    drilldown_user.data = [];
    drilldown_user.data.push(['success', obj.success]);
    drilldown_user.data.push(['error', obj.error]);
    drilldown_user.data.push(['cancel', obj.cancel]);
    drilldown_user.data.push(['visit', obj.visit]);
    drilldown_user.data.push(['enroll', obj.enroll]);
    drilldown_user.data.push(['uninstall', obj.uninstall]);

    drill_down_data.push(drilldown_user);

});