向时间序列图表添加动态均值
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 的情节线而不是一系列,但我喜欢将它作为一个系列,这样它就有一个图例条目。
我会尽量准确地解释我的问题。我正在寻找满足以下两个条件的 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 的情节线而不是一系列,但我喜欢将它作为一个系列,这样它就有一个图例条目。