用于导航器的隐藏系列在highstocks打破导航器

时间:2013-04-12 12:20:54

标签: highstock

如果我在highstock中隐藏用于导航器的系列并动态添加数据,导航器将停止渲染,图表不会滑动到新点。

series.hide();

看看http://jsfiddle.net/QP2CL/。我添加了两个系列,然后在10秒后隐藏第一个系列。然后导航器不会更新。

我尝试控制导航器并在代码中添加数据,但系列不会滑动以自动显示新添加的点。 http://jsfiddle.net/zEgEF/1/

关于如何在隐藏源系列时始终显示导航器的任何想法+自动滑动以显示动态添加的点?

1 个答案:

答案 0 :(得分:0)

默认情况下,Navigator包含第一个系列。虽然为隐藏系列添加点不会触发重新计算(以获得更好的性能),但Navigator也不会更新。

但是,您的第二个解决方案几乎正常工作,您需要添加的只是设置新的极端,请参阅:http://jsfiddle.net/zEgEF/2/

代码:

                // set up the updating of the chart each second
                var chart = this;
                var axis = chart.xAxis[0];
                var ex = axis.getExtremes();
                var series1 = this.series[0];
                var navigator = this.series[1];
                setInterval(function() {
                    var x = (new Date()).getTime(), // current time
                    y1 = Math.round(Math.random() * 100);
                    y2 = Math.round(Math.random() * 100);
                    series1.addPoint([x, y1], false, false);
                    navigator.addPoint([x, y2], false, false);
                    axis.setExtremes(x - (ex.max- ex.min),x,false); <-- set new extremes
                    chart.redraw();
                }, 1000);
相关问题