2016-09-30 85 views
0

我想把日期放在我的x轴上。我的数据绘制和正确缩放,但在x轴只显示日期(正确格式化的)在小范围内1970年八月这里是我使用来设置轴的语句:xn轴上的Gnuplot 5.0日期

set format x "%Y%m%d" 
set xrange [ '19400101' : '20200101' ] noreverse nowriteback  
set xtics time 
set xtics format "%m/%d/%Y"  
set xtics border out scale 3.5,1.5 nomirror rotate by 45 offset character -5.5, -2.75 
set xtics '19400101', 3.1536e+004, '20200101' norangelimit font "arial,10" 
set xlabel "ASDF"  # <===== just a test--works fine 
set xlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate 

如果我类型show xrange我得到[ 1.94001e+007 : 2.02001e+007 ]。 012,不应该从01/01/1970开始秒?

我错过了什么?

铝Chakrin

回答

0

有几件事情:

  1. 首先,我们需要做的Gnuplot知道,X-数据确实与set xdata time
  2. 更长时间的数据,应该指定输入时间数据的格式。在这个特殊情况下,它将是set timefmt "%Y%m%d"(命令set format x等仅控制如何显示日期/时间数据,而不是应如何解析它)
  3. 在您的图中,指定的间距指定为3.1536e+004(秒)。这很可能会导致warning: Too many axis ticks requested。如果这个数字应该代表一年,那么它应该设置为3.1536e+007 = 365*24*60*60,因为日期/时间数据实际上是在Unix时间戳方面表示的(您可以通过键入print GPVAL_X_MAX来加载脚本时检查这一点 - 这会给出值1577836800.0,其中对应于指定的日期1. 1. 2020)