例如,如果我需要在阴谋中遮蔽两个区域
x<-rep(1:10)
plot(x,type="h")
我需要以1到3和7到10之间的区域为例,
我使用这个命令,但它省略了绘图线。
usr <- par('usr')
rect(1, usr[3], 3, usr[4], col='green')
答案 0 :(得分:13)
如果我理解正确,您可以使用panel.first=
鲜为人知的plot.default()
参数获得您想要的内容:
plot(x,type="h",
panel.first = {
usr <- par('usr')
rect(c(1,7), usr[3], c(3,10), usr[4], col='green', border=NA)
})
或者,为了避免使用par('usr')
值,只需执行以下操作:
plot(x, type="h",
panel.first = rect(c(1,7), -1e6, c(3,10), 1e6, col='green', border=NA))
答案 1 :(得分:5)
参见?polygon:
polygon( x = c(1,1,3,3,1), y=c( usr[1], x[1], x[3], usr[1], usr[1]) ,col="red")
> polygon( x = c(1,1,3,3,1), y=c( usr[1], x[1], x[3], usr[1], usr[1]) ,col="red")
> polygon( x = c(7,7,10,10,7), y=c( usr[2], x[7], x[10], usr[1], usr[1]) ,col="red")
我选择关闭多边形,但似乎我记得你可以自动关闭它。