使用jquery和php提供数据的基于动态列的highcharts
我正在尝试构建基于列的highcharts,以下是我在jquery中的代码:使用jquery和php提供数据的基于动态列的highcharts,php,jquery,highcharts,Php,Jquery,Highcharts,我正在尝试构建基于列的highcharts,以下是我在jquery中的代码: var options = { chart: { renderTo: 'container', type: 'column' }, credits: { enabled: false }, title: {
var options = {
chart: {
renderTo: 'container',
type: 'column'
},
credits: {
enabled: false
},
title: {
text: 'PCP Histogram',
x: -20
},
xAxis: {
categories: [{}]
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
tooltip: {
formatter: function() {
var s = '<b>'+ this.x +'</b>';
$.each(this.points, function(i, point) {
s += '<br/>'+point.series.name+': '+point.y;
});
return s;
},
shared: true
},
series: [{},{}]
};
$.ajax({
url: "file.php",
type: "post",
dataType: "json",
success: function(data){
options.xAxis.categories = data.categories;
options.series[0].name = 'Avg1';
options.series[0].data = data.avg1;
options.series[1].name = 'Avg2';
options.series[1].data = data.avg2;
var chart = new Highcharts.Chart(options);
它可以很好地工作,每个类别有两列,
我现在想要的是:图_数据可以有n个平均数据,
所以基本上是n个列
$graph_data = array('categories'=>$categories, 'avg1'=>$avg1, ... 'avgn'=>$avgn);
当我手动执行时,它可以工作,但我不知道其中有多少,所以我希望代码能够执行
你知道我怎么做吗?
谢谢你的帮助 制作一个avg数组,而不是avg1、avg2等
$graph_data = array('categories'=>$categories, 'avgs'=>$array_of_avgs)
然后在javascript端
success: function(data){
options.xAxis.categories = data.categories;
for(var i in data.avgs){
options.series[i].name = 'Avg'+i;
options.series[i].data = data.avgs[i];
}
var chart = new Highcharts.Chart(options);
一切都会好的嗨,我应该如何定义上面的序列,当我尝试你的代码时,它给出了一个错误,不能将属性“name”设置为非对象。我认为图表选项中的系列是问题所在。你知道我怎么修吗?
success: function(data){
options.xAxis.categories = data.categories;
for(var i in data.avgs){
options.series[i].name = 'Avg'+i;
options.series[i].data = data.avgs[i];
}
var chart = new Highcharts.Chart(options);