1

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

series.hide();

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

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

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

4

1 回答 1

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);
于 2013-04-12T14:12:11.020 回答