Javascript 如何组合两种海图类型?

Javascript 如何组合两种海图类型?,javascript,charts,highcharts,Javascript,Charts,Highcharts,现在,我有一个简单的柱状图,其中包含使用Highcharts的以下代码: $(document).ready(function() { var options = { chart: { renderTo: 'container', type: 'column' }, title: {

现在,我有一个简单的柱状图,其中包含使用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);
            });

但这只显示了第一个柱状图

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

试试这个


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

不幸的是,这不起作用(在控制台日志中没有显示错误)。可能我遗漏了一个关键部分:我有一个名为
options2
的变量,它声明了图表(renderTo和type)和序列。但是您的变量没有合并两个变量
options
options2
,是吗?是的,它没有。对于合并选项,使用:$.extend({},options,options2);那也不行。使用此代码,图表类型会在列与行之间交替更改(刷新页面时)。我想这是这个系列的问题。根据Highcharts文档,必须在series数组中设置第二个(等等)图表类型。
        $.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 );
        });