Javascript Highcharts-将数据从一个图表重写到另一个图表

Javascript Highcharts-将数据从一个图表重写到另一个图表,javascript,highcharts,highstock,Javascript,Highcharts,Highstock,在我的示例中,数据是随机生成的。单击按钮后,应更改缩放类型 $(function() { var chartOptions={ chart:{ zoomType : 'x', events : { load : function() { var series = this.series[0]; var chart = thi

在我的示例中,数据是随机生成的。单击按钮后,应更改缩放类型

$(function() {

var chartOptions={  
        chart:{
            zoomType : 'x',
            events : {
                load : function() {
                var series = this.series[0];
                    var chart = this;
                    setInterval(function() {
                        var x = (new Date()).getTime(),
                        y = Math.round(Math.random() * 100);
                        series.addPoint([x, y]);
                        chart.redraw();
                    }, 1000);
                }
            }
        },
        series : [{
            name : 'AAPL',
            data : [null]
        }]
    };

$('#container').highcharts('StockChart', chartOptions); 

$('#button').click(function() {
    var chart1 = $('#container').highcharts();
    //alert(chart1.series[0].yData);
    chartOptions.chart.zoomType = 'y';
    $('#container').highcharts(chartOptions);
});
});
单击按钮后,旧图表将消失,但不会生成新图表。 Firebug显示
TypeError:e未定义
并且在
系列的行中。addPoint([x,y])显示
系列未定义

chartOptions
是全局的,因此在单击处理程序中,一个属性(zoomType)被更改,其余属性应相同

alert(chart1.series[0].yData)显示属性数据。所以我试着:

$('#button').click(function() {
    var chart1 = $('#container').highcharts();
    //alert(chart1.series[0].yData);
    chartOptions.chart.zoomType = 'y';
    var chart2 = $('#container').highcharts(chartOptions);
    chart2.series[0].setData(chart1.series[0].data);
    chart2.redraw();
});

然后firebug显示
chart2.series未定义

如果不销毁()图表并创建新实例,则无法更新highcharts中的缩放类型。换句话说,您应该使用

chart1.destroy()
var chart2=$(“#容器”)。highcharts(chartOptions)

如果您想设置任意轴上的范围(缩放图表),可以使用setextrems()函数

chartOptions
或chart2.series未索引时,您需要使用$.extend({},chartOptions)


谢谢你的回答。不幸的是,我仍然不知道如何将数据从第一个图表重写到第二个图表。这一尝试带来了许多错误。仍然
chart2.series未索引
series未索引
和其他一些。奇怪的是,即使没有第34行,这个示例也应该可以工作,但它不。。。
$('#container').highcharts($.extend({},chartoptions);