当我plot
绘制轴时,grid
与ticks
by default对齐。
然而,我的情节有点牵扯:
mytime <- as.POSIXct("2015-08-20") + seq(0,by=3600,length.out=7*24)
plot(x=mytime,y=rnorm(7*24),xaxt="n")
ticks <- mytime[seq(1,by=12,to=length(mytime))]
axis(1, ticks, strftime(ticks, "%a %H:%M"))
grid(ny=NULL,nx=14)
我无法让grid
与ticks
对齐:
如何使它们对齐?
答案 0 :(得分:0)
看起来abline
就是答案:
mytime <- as.POSIXct("2015-08-20") + seq(0,by=3600,length.out=7*24)
plot(x=mytime,y=rnorm(7*24),xaxt="n")
ticks <- c(mytime[seq(1,by=12,to=length(mytime))],mytime[1]+7*24*3600)
axis(1, ticks, strftime(ticks, "%a %H:%M"))
grid(ny=NULL,nx=NA)
abline(v=ticks[seq(1,length(ticks),2)],lty="dotted",col="lightgray")
答案 1 :(得分:0)
如前一个答案中所指出的那样,该解决方案正在使用abline
函数,并避免将垂直辅助线绘制在错误的位置。您可以通过替换代码的最后一行来实现这两个目的
grid(ny=NULL,nx=14)
作者
grid(ny=NULL,nx=NA)
abline(v = ticks, lty = 3, col = "lightgray")
获得
顺便说一下,以前与此相关的问题可以为您提供帮助: