在Javascript中转换来自不同时间范围的时间序列数据

时间:2018-08-27 11:06:53

标签: javascript node.js charts time-series

JS中是否有一个库可以转换时间序列数据时间范围? 我每分钟都会从IOT设备获取数据。在我正在开发的应用程序中,将有一张图表,使我们能够可视化不同时间范围(1m,30m,1h,1d等)之间的数据切换,就像传统的股市图表一样。

添加所有1m数据并求平均值是一个非常简单的任务。但是,例如,每30m生成一个新的数据信息并不是很明显。由于那里有很多sotck,外汇和加密网站,我想有人必须共享一个好的图书馆。

1 个答案:

答案 0 :(得分:0)

我最终自己找到了解决问题的方法。 我确实使用了一个名为moment js的库,该库使按小时,周,月,季度等对数组对象进行分组变得容易。之后,只需要计算分组对象的长度并对其取平均值即可。 这是我的最终代码:

meanByTimeframe = function(timeframe, data) {
    const momentData = _.map(data, item => {
        return {
            date: moment(item[date])
                .startOf(timeframe)
                .format(),
            values: parseInt(item[value])
        }
    });
    const groupedData = _.groupBy(momentData, "date")
    return _.mapValues(groupedData, item => {
        return _.meanBy(item, 'values')
    })
}

Voilà!