我有 memorylog.csv 文件,该文件每 1 秒就会填充一次数据。现在,我想要的是继续从 memorylog.csv 并行绘制时间线 gui 图。我怎样才能做到这一点?我想使用 gnuplot (或其他实用程序)以编程方式完成此操作。随着文件中新数据的不断出现,图表应该不断更新。
示例数据集:
Fri Aug 2 04:46:59 IST 2013,14576,28823,24128,2050
Fri Aug 2 04:47:00 IST 2013,14580,28823,24187,1992
Fri Aug 2 04:47:01 IST 2013,14584,28823,24245,1933
Fri Aug 2 04:47:03 IST 2013,14604,28823,24303,1875
Fri Aug 2 04:47:04 IST 2013,14636,28823,24361,1817
Fri Aug 2 04:47:05 IST 2013,14668,28823,24421,1757
Fri Aug 2 04:47:06 IST 2013,14708,28823,24479,1699
我希望时间戳值位于 x 轴,其余四个值位于 y 轴。
最佳答案
将这样的内容放入脚本Continous.gp
:
plot '<tail -n 100 data'
pause 1
reread
并像gnuplot Continuous.gp
一样运行它。这将每秒重新绘制最后 100 个条目。不幸的是,这将导致绘图窗口每次都会上升到显示器的前景,这可能是也可能不是您想要的。另外,您需要弄清楚如何让 gnuplot 来解释时间戳。我认为您需要以仅包含数字的方式格式化它们(尽管它可以以任何格式显示它们)。
另一种需要考虑的可能性是rrdtool
。您向此工具提供数据值,它将持续运行最后一分钟、最后一小时、最后一天等的摘要(最小值、最大值、平均值)。这些在网页上以图表形式可视化。基本上,它完全符合您的要求。
关于bash - 如何以编程方式绘制来自文件的连续数据集的图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033798/