我使用 highstock 绘制具有不同时间范围的系列,但在添加/删除系列后导航器的时间范围没有正确更新。代码在http://jsfiddle.net/QssUu/1/中共享
$(function() {
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function(data2) {
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
rangeSelector : {
selected : 5
},
title : {
text : 'AAPL Stock Price'
},
series : [{
name : 'AAPL',
data : data2,
tooltip: {
valueDecimals: 2
}
}]
},function(chart){
var newSeries = {
name : 'new',
data : [[1010112000000,55],[1136246400000,60.10],[1138752000000,65.03],[1204502400000,70.41],[1257120000000,75.47],[1349049600000,80.59]]
};
$('#btn1').click(function(){
chart.addSeries(newSeries); //add new serie
});
$('#btn2').click(function(){
chart.series[0].remove(); //remove serie from chart
});
});
});
以下是我执行的步骤列表:
- 在图表中创建一个系列 1,图表 rangeSelector 设置为“all”。
- 单击“添加系列 2”以在图表中创建系列 2。我希望看到导航器时间范围被更新以涵盖系列 1 和系列 2(从 2001 年 12 月 31 日开始)。但它仍然只包括系列 1。
- 单击“删除系列 1”以从图表中删除系列 1。我希望看到导航器被更新为仅包括系列 2 的时间范围,但它仍然包括系列 1 的时间范围。
任何人都可以告诉我如何在添加/删除系列后更新导航器的时间范围?如果 rangeSelector 的“from”和“to”也可以相应地更新,那就太好了。请注意,在我的应用程序中,我将使用超过 2 个系列并随时添加/删除任何系列。因此,该解决方案应该适用于 2 个以上的系列。
提前致谢!
亚历克斯