【发布时间】:2019-12-10 03:29:08
【问题描述】:
我正在开发一个应用程序,其中我使用jqPlot 使用通过 AJAX 检索的一些数据绘制饼图。但是,我注意到生成的饼图是错误的。 当我手动将数据放入数组时,饼图是正确的。
这是我的代码的一部分。
$.ajax({
url:'http://localhost/mijson.php',
dataType:'json',
async:false,
success:function(data){
for(a in data){
var div_pintar = "<div id='divgrafica"+a+"' class='myChart'></div>";
$("#espacio_graficas").append(div_pintar);
var datos_tmp = [];
datos_tmp.push(['Ok',data[a]['ok']]);
datos_tmp.push(['Fail',data[a]['fail']]);
$.jqplot('divgrafica'+a, [datos_tmp], {
title:data[a]['label'] ,
seriesDefaults:{
renderer:$.jqplot.PieRenderer,
trendline:{ show: true },
},
legend:{ show: true }
});
...
我得到的 JSON 是这样的:
[{"label":"FECHA","requer":56,"ok":28,"fail":28},
{"label":"TTM Y FECHA","requer":35,"ok":8,"fail":27}]
总而言之,它向我显示了一个饼图,例如,有两个值,但相加是 14%。
如果我使用ajaxDataRenderer,也会发生同样的情况:
...
plo12 = $.jqplot('pieChart2', jsonurl,{
title: 'AJAX JSON Data Renderer',
dataRenderer: ajaxDataRenderer,
seriesDefaults: {
renderer: $.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true
}
},
legend: { show: true, location: 'e' }
});
...
【问题讨论】:
-
您对所见错误的描述不清楚。请提供错误绘图(使用 AJAX 数据)和正确绘图(使用手动插入数据)的屏幕截图。当您“手动将数据放入数组”时,请提供您用于绘制饼图的代码(这样我们可以看到您如何插入它并绘制数据,因为有两个不同的结果意味着您以不同的方式执行此操作而不是通过 AJAX 接收 JSON)。
标签: javascript jquery ajax jqplot