gnuplot:xdata时间和方框

时间:2013-01-29 08:39:48

标签: gnuplot

我在文本文件中有一些温度数据,我想在一个“盒装”图中表示它,显示每天的温度,如直方图。

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,但我想在没有任何条件的情况下留下这个空白。

有没有办法得到这个?我已经放弃了直方图表示,因为我读过它与时间数据不兼容。

提前谢谢

1 个答案:

答案 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

和输出:

enter image description here