Gnuplot 5.0在x轴上发布

时间:2016-09-30 19:37:36

标签: gnuplot axis

我正在尝试将日期放在我的x轴上。我的数据被绘制并正确缩放,但x轴仅显示1970年8月小范围内的日期(格式正确)。以下是我用来设置轴的语句:

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 ]。我不应该 从1970年1月1日起几秒钟?

我错过了什么?

Al Chakrin

1 个答案:

答案 0 :(得分:0)

有几件事:

  1. 首先,需要让Gnuplot知道x数据确实是set xdata time的时间数据
  2. 此外,应指定时间数据的输入格式。在这种特殊情况下,它将是set timefmt "%Y%m%d"(命令set format x等仅控制日期/时间数据的显示方式而不是如何解析它。
  3. 在您的图中
  4. ,抽搐间距指定为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)