从php页面获取数据,我将chartData
数组传递给pie(title,chartData)函数作为第二个参数。
现在chartData
数组放在data: [ chartData ]
但是它没有工作。
但是当我手动添加密钥然后它工作data: [ chartData[0],chartData[1], ]
。
但我不想用密钥手动提及它。我想像data: [ chartData ]
一样自动工作
我该怎么办?
function createChart(chart) {
if ( chart == 'pie' ) {
var title = $("#chart-title").val();
/***************** Data Elements ****************/
var totalElements = $("#addMoreRowNo").val();
var chartData = new Array();
for(var j = 1; j <= totalElements; j++)
{
var key = $("#chart-pie-text_"+j).val();
var value = $("#chart-pie-percentage_"+j).val();
var data = [key, parseFloat(value)];
chartData[j-1] = data;
}
/***************** Data Elements ****************/
pie(title,chartData);
}
}
function pie(title,chartData) {
var chart;
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: title
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage}%</b>',
percentageDecimals: 1
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: [
chartData
/*chartData[0],
chartData[1],*/
//['Active Postings (13)', 20.00],
]
}]
});
}
答案 0 :(得分:1)
我很确定你的问题可以通过替换
来解决data: [
chartData
]
与
data : chartData
您编写它的方式,您将数据定义为包含chartData的数组,该数据本身就是一个数组。但是,您指示您正在测试它的方式是将项目从chartData中取出并将每个项目放入数据中,从而产生不同的结构。