问:我目前有 MQTT 客户端,可将数据转储到 csv 文件中,是否可以使用 BASH 或 Python [自动] 将这些数据转换为图表?这样的事可以做吗?或者这是 Excel 的事情?
文件中的数据看起来:
timestamp,2313,4242,53453
timestamp,142342,234242,2343
timestamp,123132,132123,132
...
答案1
您可以使用许多命令驱动的绘图工具来完成此类任务 - 例如,请参阅最近这个非常相似的问题的答案如何根据标准输入绘制一系列数字的图形?
例如,使用gnuplot
gnuplot -p -e 'set datafile separator ","; plot for [col=2:5] "file.csv" using 1:col with lines'
答案2
您没有准确指出您的数据是什么,所以我会提供一个建议可能不完全适合您的需要。
我真的很喜欢 RRDTool,它是围绕监视系统指标并将其绘制成图表的实用程序。您的数据看起来像是时间戳系列,这可能意味着 RRDtool 是合适的。
RRDtool 所做的主要工作之一是应用采样和归档。它将“汇总”数据点以得出采样间隔的最小/最大/平均值,并允许您缩放采样间隔 - 因此您可以保持一周 5m 分辨率、一个月 1 小时分辨率以及每日分辨率几年了。
我提到它的唯一原因是我注意到您的数据包含时间戳,RRDtool 做得非常好的事情之一是采样更新和近乎实时的图形重绘。
例如: