x=read.table(text=" Qtr1 Qtr2 Qtr3 Qtr4
2010 1.8 8.0 6.0 3.0
2011 2.0 11.0 7.0 3.5
2012 2.5 14.0 8.0 4.2
2013 3.0 15.2 9.5 5.0",
sep="",header=TRUE)
y<-ts(as.vector(as.matrix(x)),frequency=4,start=c(2010,1))
plot.ts(y)
time<-seq(as.Date("2010/1/1"),length.out=20,by="3 months")
axis(1, at = time)
当我绘制图表时,我想在 x 轴上添加日期,为什么我的axis(1, at = time)
无法在x轴上添加日期数据?
你打电话时axis(1, at=time)
你告诉 R 在 x 轴上绘制 x 轴,并在给定的点处添加标签time
。然而,time
是字符向量,而不是数字。
一般来说,你打电话axis(1, at=..., labels=...)
指示实际标签以及沿轴放置它们的位置。就您而言,您致电plot.ts
隐式地将 x 轴限制设置为2010
and 2013.75
,所以你的at
参数应反映这些限制。
所以你想打电话axis
说标签是time
职位是2010, 2010.25, 2010.50 ...
, 那是,seq(from=2010, to=2013.25, by=0.25)
。通用解决方案是这样的:
plot.ts(y,axes=F) # don't plot the axes yet
axis(2) # plot the y axis
axis(1, labels=time, at=seq(from=2010, by=0.25, length.out=length(time)) )
box() # and the box around the plot
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)