如何从更改日志中显示 gnuplot 时间序列图

如何从更改日志中显示 gnuplot 时间序列图

我有一个生成这样的日志的应用程序:

14:48:16, 41.0
14:50:01, 40.0
14:54:01, 41.0
14:54:04, 40.0
14:55:10, 41.0
14:55:22, 40.0
15:00:13, 41.0
...

这是当前时间和测量的温度。当温度发生变化时,应用程序会将一行写入日志文件。

我想通过 gnuplot 绘制温度图,我尝试过:

set xdata time
set timefmt "%H:%M:%S"
set yrange [30:50]
set xrange ["14:40":"16:50"]
plot 'temp.csv' using 1:2 with lines

它显示了这样的图表:

图形

但我希望线条是水平的,并在温度变化时形成一个台阶。结果应该类似于蓝线:

所需的图表

我如何强制 gnuplot 这样做?我可以通过日志预处理来做到这一点,但如果可能的话,我只想通过 gnuplot 来做到这一点。

答案1

Gnuplot 有很多可用于显示数据的样式。该with lines选项用线连接每个数据点。它适用于平滑变化的数据。

包含从此时到下一次更改的有效时间和值的数据可以绘制为直方图。如果with steps指定了该选项,Gnuplot 会绘制直方图。所以完整的命令是

plot 'temp.csv' using 1:2 with steps

很好的文档和示例位于http://lowrank.net/gnuplot/intro/style-e.html

相关内容