[英]Grouping Data with Flot Charts
場景:我正在使用Flot JS繪制一個音量條形圖,每分鍾數據。 例如,3個小時,我從數據庫中提取了3 x 60個數據點。
問題:由於我有6個小時的數據點,並且圖表的寬度僅為250px,因此每個條的寬度僅為1px,沒有邊距。 我想知道在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用戶,所以這可能不完全正確,但我們的想法是將您的時間戳和截斷時間縮短為30分鍾,然后在30分鍾內平均音量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.