月tics,如何设置

por*_*ton 12 gnuplot

在GnuPlot中:

如何将xtics设置为每月1日?

设置xtics对我来说不起作用,因为每月的秒数变化.

set xmtics
对我来说不起作用,因为几个月没有显示数年,并且没有显示哪一年属于一个月.

小智 23

在我看来,gnuplot处理时间出奇的好.我假设您的数据采用以下(或类似)格式:

05/17/12    0.8188064359
05/18/12    0.97297057
05/21/12    0.9012782504
Run Code Online (Sandbox Code Playgroud)

我用了一年半的随机数来测试这个.

所以首先你需要告诉gnuplot你的x坐标是时间,它的格式是什么:

set xdata time
set timefmt "%m/%d/%y"
Run Code Online (Sandbox Code Playgroud)

从现在开始,gnuplot期望指定格式的所有范围,包括xticsxrange命令.唯一的例外是增量xtics应该以秒为单位.

set xrange ["05/01/12":"08/01/13"]
set xtics "01/01/12",2592000,"08/01/18"
Run Code Online (Sandbox Code Playgroud)

现在您可能会争辩说,每个月的秒数相差一整天(实际上是2月份的2天).然而,gnuplot的作者似乎也在考虑这个问题,他们根据自己的喜好解决了这个问题.换句话说,上面将确保每个月1日的抽搐.在这里,我只能建议指定的打印格式xtics

set format x "%d %b %Y"
Run Code Online (Sandbox Code Playgroud)

这将导致"2012年5月1日"等.在此之后,plot您的数据.哦,当在x轴上使用时间时,gnuplot usingplot命令中需要,所以即使我有一个简单的数据文件,我也不得不使用

plot 'data.txt' using 1:2
Run Code Online (Sandbox Code Playgroud)

我使用gnuplot版本4.6 patchlevel 0并输出到postscript终端.如果您对自己的版本或终端有不同的体验,请在评论中告诉我.