如果你还想用老派的方式制作人物graphics
设施 (plot
, abline
, lines
等等 - 其他建议涉及grid
系统导数,例如ggplot2
),您可以尝试使用自定义剪切区域,请参阅?clip
:
par(mfrow=c(1, 2))
x <- seq(1, 24, 1)
y <- rnorm(24, 10, 2)
# 1st plot
plot(x, y, ylim=c(4,16), type='o')
# 2nd plot
plot(x, y, type='n', ylim=c(4,16))
clip(x1=min(x),x2=max(x), y1=11, y2=max(y))
polygon(c(min(x), x, max(x)), c(min(y), y, min(y)), col="gray")
clip(x1=min(x),x2=max(x), y1=9, y2=min(y))
polygon(c(min(x), x, max(x)), c(max(y), y, max(y)), col="gray")
clip(par("usr")[1], par("usr")[2], par("usr")[3], par("usr")[4]) # reset clipping region
lines(x,y, type='o')
abline(h=c(9, 11))
首先,我们设置没有绘图的绘图区域,然后设置两个不同的剪切区域(在其中使用灰色填充进行绘图),然后删除剪切区域并重新使用线和点进行绘图。