我遇到了下一个问题:当我获取数据并尝试构建jqPLot PieChart时,萤火虫说uncaught exception: No Data
这是我的数据检索功能:
function getValues(){
var myArr=[];
$.ajax({
type : "POST",
url : myUrl,
data : {
},
success : function(response) {
for ( var i = response.myList.length - 1; i >= 0; --i) {
var obj = response.myList[i];
var id = obj.id;
var name = obj.name;
var value = obj.value;
......some code here....
myArr.push[{name:value}];
}
},
error : function(response) {
alert("your request cannot be handled. " + response);
}
});
drawPieChart(myArr);
}
这是我的drawPieChart函数:
function drawPieChart(array) {
var plot1 = jQuery.jqplot ('chartdiv', [array],
{
seriesDefaults: {
// Make this a pie chart.
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
// Put data labels on the pie slices.
// By default, labels show the percentage of the slice.
showDataLabels: true
}
},
legend: { show:true, location: 'e' }
}
);
}
这里是html源码,我想插入我的PieChart:
<div id="chartdiv" style="height:400px;width:300px; "></div>
所以有人可以帮我解决这个问题吗?我做错了什么? jqPlot的所有文件都已正确连接。
答案 0 :(得分:0)
jqPlot只接受[[[[X,Y],...]]
所以将myArr.push({name:value})更改为myArr.push([name,value])
请参阅http://www.jqplot.com/deploy/dist/examples/pie-donut-charts.html
答案 1 :(得分:0)
您输入数据的方式是错误的,请尝试如下编码:
var data = [
['Heavy Industry', 12],['Retail', 9], ['Light Industry', 14],
['Out of home', 16],['Commuting', 7], ['Orientation', 9]]
使用一些简单的值,看看是否可以运行它,如果它工作,那么解决它。