移除/添加系列

时间:2016-02-04 16:35:03

标签: highcharts highstock

我使用highstock堆叠柱形图来显示数据。实现了向下钻取功能 - 即在点击特定列之后,在后台删除现有系列(除了导航器')并添加具有特定数据的新系列。删除上一个系列并添加一个新系列后,导航器ALL按钮并不显示所有数据,只显示6m或1y的数据。在我看来,显示数据和导航器之间缺少一些同步过程。有没有办法纠正它? 我正在使用下一个设置:

xAxis: {
   type: 'datetime'
},
navigator: {
    enabled: true,
    adaptToUpdatedData: true,
    series : {
        id: 'navigator'
    }
},
series: {
    events: {
        click: function (e) {
            var series = ObtainNewData();
            setChart(e, chart, series);
        }
    }
}

,其中

setChart: function(e, chart, series){
    var navigatorSerie;
    var chartSeriesLength = chart.series.length;
    for(var i = chartSeriesLength - 1; i > -1; i--){
        if(chart.series[i].name.toLowerCase() == 'navigator') {
            navigatorSerie = chart.series[i]; 
        } else {
            chart.series[i].remove(false);
        }
    }
    $.each(series, function(i, n ){
        chart.addSeries(n, false);
        navigatorSerie.setData(n.data, false);
    });
    chart.xAxis[0].setExtremes();
    chart.redraw();
},

在上一版代码之前,我试图更轻松地使用“导航器”#39;我用过的系列:

setChart: function(e, chart, series){
    var chartSeriesLength = chart.series.length;
    for(var i = chartSeriesLength - 1; i > -1; i--){
        chart.series[i].remove(false);
    }
    $.each(series, function(i, n ){
        chart.addSeries(n, false);
    });
    chart.redraw();
},

0 个答案:

没有答案