我需要使用PHP和MySQL使用Highcharts构建图表。
从data.php
,我得到:
0: {categoria:Vendas, real:2038.00, orcamento:14000.00, desvio:-11962.00}
1: {categoria:Serviços, real:120.00, orcamento:8500.00, desvio:-8380.00}
2: {categoria:Outras, real:15000.00, orcamento:0.00, desvio:15000.00}
但是,为了构建图表,数据必须采用以下格式:
xAxis: {
categories: ['Vendas', 'Serviços', 'Outras']
},
和
series: [{
name: 'orcamento',
data: [14000, 8500, 0]
}, {
name: 'real',
data: [2038, 15000, 120]
}, {
name: 'desvio',
data: [-11962, -8380,15000]
}]
我正试图以正确的格式转换数据并渲染图表:
$(document).ready(function(){
var options={
chart: {
renderTo:'container',
type: 'bar'
},
title: {
text: 'Total Anual'
}
};
$.getJSON('data.php', function (data){
$.each(data, function(key,value) {
var series = [{}];
var xAxis = [{}];
if(key=='categoria'){
options.xAxis.categories.push(value);
}
else{
options.series.name.push(key);
$.each(value, function(key,value){
//series.data=value;
options.series.data.push(value)
})
}
});
//options.series[0].data=data;
var chart= new Highcharts.Chart(options);
});
});
问题是此代码返回错误:" Uncaught TypeError:无法读取属性' name'未定义"在线:
options.series.name.push(key);
答案 0 :(得分:0)
在选项中:
var options={
chart: {
renderTo:'container',
type: 'bar'
},
title: {
text: 'Total Anual'
}
};
您缺少该对象的属性。例如:xAxis,series,series.data,series.names。