0

当我让plot绘制轴时,默认情况下grid与.ticks

但是,我的情节有些涉及:

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

网格和刻度不对齐

如何让它们对齐?

4

2 回答 2

1

正如上一个答案中所指出的,解决方案是使用该abline函数并避免将垂直线绘制在错误的位置。您可以通过替换代码的最后一行来实现这两件事

grid(ny=NULL,nx=14)

经过

grid(ny=NULL,nx=NA)
abline(v = ticks, lty = 3, col = "lightgray")

获得

在此处输入图像描述

顺便说一句,以前有一些与此相关的问题可能对您有所帮助:

  1. R:绘制日期时查找刻度线的位置
  2. 对齐 grid() 以绘制刻度
于 2020-04-04T22:23:12.533 回答
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")

在此处输入图像描述

于 2015-08-20T17:34:25.667 回答