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

时间:2016-01-07 15:55:19

标签: javascript charts highcharts highstock

我会尽可能准确地解释我的问题。我正在寻找一个填充以下两个条件的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.

实际上可以显示水平线。但它们固定在整个数据上,并且在修改时间窗口时不会相应地改变:

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

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

1 个答案:

答案 0 :(得分:3)

结合使用答案:

使用我为前一个问题制作的所有可见系列的动态平均值示例,在这里:

我使用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)相应地计算平均值,检查平均序列是否存在,如果存在,则更新,如果不存在,则添加

它可以很容易地使用您根据需要添加/删除的绘图线而不是系列,但我喜欢将它作为一个系列,以便它有一个图例条目。