如何以编程方式从文件中绘制连续即将到来的数据集的图形?

时间:2013-08-03 14:21:40

标签: bash unix graph gnuplot

我有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轴上放置四个值。

1 个答案:

答案 0 :(得分:3)

将类似的内容放入脚本continuous.gp

plot '<tail -n 100 data'
pause 1
reread

并像gnuplot continuous.gp一样运行它。这将每秒重新绘制最后100个条目。不幸的是,这会导致绘图窗口每次都升到显示器的前景,这可能是您想要的,也可能不是。此外,您需要弄清楚如何让gnuplot解释时间戳。我认为你需要以仅由数字组成的方式对它们进行格式化(尽管它可以以任何格式显示它们)。

另一种考虑的可能性是rrdtool。您将数据值提供给此工具,它将继续运行最后一分钟,最后一小时,最后一天等的摘要(最小值,最大值,平均值)。这些可视化为网页上的图形。基本上,它完全符合您的要求。