阴影指示变量 R

Shade indicator variables R

请帮忙:我想在 R 的图中为指示变量 z == 1 的所有值遮蔽时间序列图。

下面是生成我正在查看的类似场景的代码:

x <-runif(100, 5.0, 7.5)
y <-runif(100, 1, 10)
z = as.numeric(y >= 5)
date = seq(as.Date("1910/1/1"), as.Date("2009/1/1"), "years")
data = data.frame(cbind(x,y,z))
color <- rgb(190, 190, 190, alpha=80, maxColorValue=255)
plot(date,x, type='l')
rect(xleft=date[10], xright=date[40], ybottom=5, ytop=7.5, col = color,density=100)

从代码来看,我只能一一指定日期。但是假设我想遮蔽 z==1 的所有区域? IE。 z == 1 所在的所有日期。知道如何做到这一点吗?

非常感谢,尼克

只需将整个 vector 日期输入 xleftxright 参数,由 z==1 索引。不要做线底纹,会运行很久,把颜色改成灰色就行了。然后,再次在矩形上绘制时间序列:

plot(date,x, type='l')
rect(xleft=date[z==1]-180,xright=date[z==1]+180,
  ybottom=5, ytop=7.5, col="grey",border=NA)
lines(date,x)