gpt4 book ai didi

javascript - 使用图表对数据进行分组

转载 作者:可可西里 更新时间:2023-11-01 08:34:41 25 4
gpt4 key购买 nike

场景:我正在使用 Flot JS 绘制一个带有每分钟数据的交易量条形图。因此,例如,在 3 小时内,我从数据库中提取了 3 x 60 个数据点。

问题:因为我有 6 小时的数据点,图表的宽度只有 250 像素,每个条形只有 1 像素宽,没有边距。我想知道 Flot Charts 中是否有分组数据选项,我可以告诉它对每 15 分钟或 30 分钟的体积数据进行平均。

$.plot('#flot-vol, [{
color: '#fff',
bars: { show: true },
data: dataV
}], {
grid: { show: false },
shadowSize: false
});

在 High Charts 中有一个 GroupData 选项,您可以在其中按日/周/月对给定数据进行分组。我想知道 Flot Charts 中是否有这样的功能?

如果我需要用MySQL对数据进行分组,如果有如下MySQL语句,如何每30分钟对数据进行一次分组?目前,我正在从名为 Ticker 的表中提取最新日期的所有交易量。

SELECT UNIX_TIMESTAMP(`Timestamp`), `Volume` from `Ticker` WHERE CompID = 'symbol' AND Date(`Timestamp`) = (SELECT Max(Date(`Timestamp`)) FROM `Ticker`)

更新:

感谢 Ryley 澄清了答案,如果有人想知道如何通过 MySQL 对数据进行分组,请看这里。有效的 MySQL 语句

SELECT UNIX_TIMESTAMP(`Timestamp`), AVG(`Volume`) FROM `Ticker` WHERE `CompID` = 'symbol' AND Date(`Timestamp`) = (SELECT Max(Date(`Timestamp`)) FROM `Ticker`) GROUP BY (UNIX_TIMESTAMP(`Timestamp`) DIV 30*60)

最佳答案

Flot 本身不聚合数据,但考虑从 mysql 聚合数据是正确的。

让您的查询将数据平均分成 30 分钟的片段:

SELECT trunc(UNIX_TIMESTAMP(`Timestamp`)/(30*60))*(30*60) as time_chunk, 
AVG(`Volume`) from `Ticker`
WHERE CompID = 'symbol' AND
Date(`Timestamp`) = (SELECT Max(Date(`Timestamp`)) FROM `Ticker`)
GROUP BY time_chunk

我不是 MySQL 用户,所以这可能不完全正确,但我的想法是获取您的时间戳并将其 chop 为 30 分钟的增量,然后在这 30 分钟内平均音量。

关于javascript - 使用图表对数据进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16474808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com