这是数据测试.log:
2024-08-22 13:00:02 9
2024-08-22 13:10:03 20
2024-08-22 13:20:03 20
2024-08-22 13:30:03 9
2024-08-22 13:40:03 9
这是 test.gnuplot 文件:
set terminal x11 1
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set xtics rotate by 60 offset -3.8,-7.8
set bmargin 15
set format x "%Y-%m-%d %H:%M:%S"
set ylabel "test Value (Bq/m3)"
plot "test.log" using 1:2 title 'test measurement in Bq/m^3 every 10 minutes' with lines
pause 60
结果? :
$ gnuplot test.gnuplot
Warning: empty y range [13:13], adjusting to [12.87:13.13]
所以它基本上将 13 小时识别为数据,忽略 %H:%M:%S。 文档对此没有用,因为它只是说明空格处理得很好:http://www.gnuplot.info/docs_4.2/node274.html
为那些可能遇到同样问题的人找到了丑陋的解决方法: 将格式 2024-08-22 13:00:02 替换为 2024-08-22-13:00:02,然后将格式设置为 :
set timefmt "%Y-%m-%d-%H:%M:%S"
如果我错过了什么,请告诉我。
感谢@choroba,我可以理解我的 test.gnuplot 需要修改为精确到 gnuplot 数据在哪里(1:3 而不是 1:2):
set terminal x11 1
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set xtics rotate by 60 offset -3.8,-7.8
set bmargin 15
set format x "%Y-%m-%d %H:%M:%S"
set ylabel "test Value (Bq/m3)"
plot "test.log" using 1:3 title 'test measurement in Bq/m^3 every 10 minutes' with lines
pause 60
我觉得自己很傻,我确实错过了一些东西。再次感谢!