如何组合两个Highcharts图表类型?

时间:2017-06-02 21:52:37

标签: javascript charts highcharts

现在我有一个简单的柱形图,下面的代码使用Highcharts:

$(document).ready(function() {
            var options = {
                chart: {
                    renderTo: 'container',
                    type: 'column'
                },
                title: {
                    //some code
                },
                xAxis: {
                    categories: []
                },
                yAxis: {
                   //some code                        
                },

                plotOptions: {
                    series: {
                        borderWidth: 0,
                        dataLabels: {
                            enabled: true,
                            format: '{point.y}'
                        }
                    }
                },
                legend: {
                    //some code
                },
                series: []
            };

            $.getJSON("data/column.php", function(json) {
                options.xAxis.categories = json[0]['data']; 
                options.series[0] = json[1];
                chart = new Highcharts.Chart(options);
            });
        });

我现在想要使用完全相同的选项(尽管图表类型)将线图添加到同一个容器中。该日期也通过JSON提供。

我怎样才能做到这一点?

到目前为止我做了什么: 我创建了第二个变量" options2"与价值图表和系列。 然后我打电话给

$.getJSON("data/line.php", function(json) {
                options.xAxis.categories = json[0]['data']; 
                options2.series[1] = json[1];
                chart = new Highcharts.Chart(options2);
            });

但这仅显示第一个柱形图。

2 个答案:

答案 0 :(得分:0)

可能你应该尝试使用$ .merge来防止对象编辑。

试试这个

        $.getJSON("data/column.php", function(json) {
            // Merge objects
            var newOptions = $.extend({}, options);

            // Edit new object instead of old
            newOptions.xAxis.categories = json[0]['data'];
            newOptions.series[0] = json[1];

            chart = new Highcharts.Chart( newOptions );
        });

答案 1 :(得分:0)

通过直接通过JSON传递系列选项(图表类型)解决了这个问题。 我添加了"类型:line"到数据数组,然后覆盖脚本标记中先前设置的选项。