简体   繁体   English

为 Morris 甜甜圈图设置数据

[英]Setting Data for Morris Donut Chart

I am trying to use a Morris Donut chart.我正在尝试使用莫里斯甜甜圈图表。

If i hard code the data as follows:如果我硬编码数据如下:

donutData = [{"label":"iPad Simulator:iOS:iPad Simulator x86_64","value":14},{"label":"android","value":6}];

 var chart =    Morris.Donut({
        element: 'morris-donut-chart',
        data: donutData,
        resize: true,
        parseTime:false
    });

it works fine.它工作正常。 However, if i add a ajax call like below但是,如果我添加如下所示的 ajax 调用

var chart =    Morris.Donut({
        element: 'morris-donut-chart',
        data: donutData,
        resize: true,
        parseTime:false
    });


    $.ajax({ url: 'http://127.0.0.1:7101/MUDRESTService/rest/v1/feedbackdistribution?onlyData=true',
            
             type: 'get',  
             dataType: 'json',    
             success: function(output) {
                var ddata = JSON.stringify(output.items);
                ddata = ddata.replace(/Label/g,'label');
                 ddata = ddata.replace(/Value/g,'value');
                console.log(ddata);

                chart.setData(ddata);
}
});

Then it fails with errors:然后它失败并出现错误:

Error: Invalid value for <path> attribute d="M,0,0"q @ raphael-min.js:10w @ raphael-min.js:10c._engine.path @ raphael-min.js:11v.path @ raphael-min.js:10b.DonutSegment.b.drawDonutArc @ morris.min.js:7b.DonutSegment.b.render @ morris.min.js:7b.Donut.d.redraw @ morris.min.js:6b.Donut.d.setData @ morris.min.js:7$.ajax.success @ morris-data.js:80j @ jquery.js:3094k.fireWith @ jquery.js:3206x @ jquery.js:8259(anonymous function) @ jquery.js:8600

Please note that ddata has exact same data.请注意 ddata 具有完全相同的数据。

尝试更换JSON.stringify$.parseJSON

var ddata = $.parseJSON(output.items);

The problem was that ddata was treated as a string rather than an array.问题是ddata被视为字符串而不是数组。

I had to change the code as this:我不得不将代码更改为:

var arr = [];
arr = ddata;
chart.setData(arr);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM