我在文本文件中有一些温度数据,我想在一个“盒装”图中表示它,显示每天的温度,如直方图。
23 10 2012 12.3
28 10 2012 14.1
30 11 2012 30.4
...
我正在试图用这样的simiple gnuplot脚本代表它:
set terminal png enhanced font font_file size size_x, size_y tiny
set xdata time
set timefmt "%d %m %Y"
set format x "%d"
set boxwidth 0.9 relative
plot u 1:4 w boxes
我想在没有数据可用的日子里留空,但gnuplot这些天给出了数据可用的最后一天的值。例如,在我之前写过的数据文件中,gnuplot会给出10月23日的12.3,但我想在没有任何条件的情况下留下这个空白。
有没有办法得到这个?我已经放弃了直方图表示,因为我读过它与时间数据不兼容。
提前谢谢
答案 0 :(得分:3)
您的问题是set boxwidth 0.9 relative
行。亲说你正试图填补相邻盒子之间90%的空间。您可能想要设置绝对宽度。如果您将脚本更改为set boxwidth 0.9 absolute
,那么您将看到垂直线条。这是因为在使用时间数据时,x轴单位实际上是秒,所以当你的x刻度是多天时,你的盒子只有~1秒宽。因此,要使每个方框成为一天的宽度,您将使用
set boxwidth 3600*24
这是完整的脚本:
set term png enhanced
set output 'foo.png'
set xdata time
set timefmt "%d %m %Y"
set format x "%d"
set boxwidth 3600*24
plot 'test.dat' u 1:4 w boxes
和输出: