我有一个生成这样的日志的应用程序:
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