向时间序列图表添加动态均值

Adding dynamic mean to time series chart

我会尽量准确地解释我的问题。我正在寻找满足以下两个条件的 javascript 图表库:

From an ajax request retrieving time series, 
display dynamically data when changing the time window.

例如在 highstocks 上完美完成:http://www.highcharts.com/stock/demo/basic-line

plot an horizontal line corresponding to the mean, 
changing when the user update the time window on the chart.

实际上可以显示一条水平线。但是它们是固定在整个数据上的,不会随着时间window的修改而相应变化:

http://www.highcharts.com/stock/demo/yaxis-plotlines

我对这个话题很陌生,想知道是否可以修改 Highstock 类 以获得这样的结果。或者可能存在其他 js 个库?

在这里使用答案的组合:

以及使用我为上一个问题制作的所有可见系列的动态平均示例,此处:

我把这个例子放在一起,使用 afterSetExtremes 事件,像这样:

xAxis      : { 
            events:{
                afterSetExtremes:function() {
                    var ext = this.getExtremes();
                  getAverage(this.chart, ext.min, ext.max, show, width, avgColor, dashStyle);                
                }
            }
        },

这里的工作示例:

想法是:

1) 捕获 afterSetExtremes 事件

2) 得到结果轴最小值和最大值

3) 遍历系列数据

4) 如果一个点在最小值和最大值之间,增加计数,并添加 点的y值求和

5) 相应地计算平均值,检查平均值序列是否存在,如果存在则更新,如果不存在则添加

它可以根据需要轻松地使用您 add/remove 的情节线而不是一系列,但我喜欢将它作为一个系列,这样它就有一个图例条目。