带有 xtics 月份和年份的折线图

line chart with xtics month and year

我已经成功地使用 Gnuplot 构建了折线图。

现在我想把日期放在我的 x 轴上。这是我的数据:

    service1    service2    service3
12/28/2014  0   0   0
11/24/2014  1   2   0
10/06/2014  5   4   1
08/30/2014  10  6   0
03/13/2014  15  8   0

这是我添加日期格式之前的绘图文件:

set term pos eps font 20
set output 'line.eps'

    plot "data.dat" using 2  smooth cumulative t 's1' with lines, \
         "data.dat" using 3  smooth cumulative t 's2' with lines, \
         "data.dat" using 4  smooth cumulative t 's3' with lines

我将日期格式添加到我的绘图中,如下所示:

set term pos eps font 20
set output 'line.eps'

set xdata time
set timefmt "%m/%d/%y"
set xrange ["01/01/2009":"12/01/2014"]

plot "data.dat" using 2  smooth cumulative t 's1' with lines, \
     "data.dat" using 3  smooth cumulative t 's2' with lines, \
     "data.dat" using 4  smooth cumulative t 's3' with lines

错误是:

"plot.plt", line 10: Need full using spec for x time data

之后我尝试添加更改剧情脚本,如下所示:

plot "data.dat" using 1:2  smooth cumulative t 's1' with lines, \
     "data.dat" using 1:3  smooth cumulative t 's2' with lines, \
     "data.dat" using 1:4  smooth cumulative t 's3' with lines

并给我错误:

    service1    service2    service3
data.dat:1:"plot.plt", line 10: illegal month

好像和之前的图有点不一样。有人可以告诉我,如何解决这个问题吗?我的期望如下图所示,但在 x 轴上使用月份格式。

谢谢

错误消息告诉您,在包含 service1 service2 service3 的文件 data.dat 的第一行中,gnuplot 遇到了非法月份...

你可以

  • 删除第一行
  • 评论第一行
  • 跳过第一行 every ::1

另一个问题:%Y 指定了四位数的年份。以下内容在这里工作正常:

set xdata time
set timefmt "%m/%d/%Y"
set format x "%m/%Y"
set xrange ["01/01/2009":"12/01/2014"]

plot "data.dat" using 1:2 every ::1 smooth cumulative t 's1' with lines, \
     "data.dat" using 1:3 every ::1 smooth cumulative t 's2' with lines, \
     "data.dat" using 1:4 every ::1 smooth cumulative t 's3' with lines