Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery和php提供数据的基于动态列的highcharts_Php_Jquery_Highcharts - Fatal编程技术网

使用jquery和php提供数据的基于动态列的highcharts

使用jquery和php提供数据的基于动态列的highcharts,php,jquery,highcharts,Php,Jquery,Highcharts,我正在尝试构建基于列的highcharts,以下是我在jquery中的代码: var options = { chart: { renderTo: 'container', type: 'column' }, credits: { enabled: false }, title: {

我正在尝试构建基于列的highcharts,以下是我在jquery中的代码:

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);