gnuplot,绘制一段时间内的个别事件

时间:2012-11-09 18:19:32

标签: gnuplot

我有一些日志文件中的数据。我想想一下在一段时间内发生错误的次数。

例如:

09:00:01, error_1, blah blah blah
09:00:10, error_1, blah blah blah
09:00:23, error_1, blah blah blah
09:01:10, error_2, blah blah blah
09:07:01, error_1, blah blah blah
09:07:43, error_1, blah blah blah
09:11:03, error_1, blah blah blah 
09:18:10, error_1, blah blah blah
09:40:57, error_2, blah blah blah 
09:41:23, error_1, blah blah blah
...
23:32:20 error_1

所以有了上述内容,我想绘制这些值,以便我可以显示一个星期,每个小时的间隔时间间隔,并显示该小时的“error_1”总和...希望这是有道理的。

如果有人能帮助我,我将不胜感激!如果有办法用gnuplot完全做到这一点会更好。

谢谢!

1 个答案:

答案 0 :(得分:0)

您希望让gnuplot进行分箱以制作histogram。唯一的技巧是您需要根据错误代码过滤掉行。您可能可能在gnuplot中进行过滤,但 MUCH 更容易使用grep之类的内容。

set xdata time
set timefmt '%H:%M:%S'
set datafile sep ','
binwidth = 3600  #3600 seconds in an hour.
bin(x,width) = width*floor(x/width)
plot for [ERR in "error_1 error_2"] sprintf('<grep %s test.dat',ERR) u (bin($1,binwidth)):(1.0) smooth freq w boxes ti ERR