我正在尝试在R中制作一个情节,其中一部分情节是灰色的,以强调这个区域。与其他示例不同,我不想为绘图下的区域着色,而是在绘图上从一个区域开始并到达图形末尾的区域。当我尝试使用rect()或polygon()时,它会模糊我想强调的图。
例如:
x_mean <- c(1, 2, 3, 4)
y_mean <- c(1, 1, 1, 1)
y_max <- c(4, 4, 4, 4)
y_min <- c(-4, -4, -4, -4)
x_shade <- c(2, 3, 4)
y_max_shade <- c(4, 4, 4)
y_min_shade <- c(-4, -4, -4)
plot(x=rep(x_mean, 3), y=c(y_mean, y_max, y_min), bty='n', type="n" )
arrows(x0=x_mean, y0=y_min, x1=x_mean, y1=y_max, length=0)
points( x=x_mean, y=y_mean, pch=16)
这将在图表上绘制4条线。如何在背景中从第2行到结尾绘制灰色框?
答案 0 :(得分:9)
只是为了让你不仅仅是评论,这是一个可能的解决方案:
plot(x=rep(x_mean, 3), y=c(y_mean, y_max, y_min), bty='n', type="n" )
rect(2,-4,4,4,col = rgb(0.5,0.5,0.5,1/4))
arrows(x0=x_mean, y0=y_min, x1=x_mean, y1=y_max, length=0)
points( x=x_mean, y=y_mean, pch=16)
请注意,我还演示了如何在颜色规范中使用alpha混合(使用rgb
)。这对于这种事情也很有用。尝试将rect
行移到最后,注意结果看起来还不错,因为填充颜色部分透明。
答案 1 :(得分:1)
我发现this answer非常适合遮蔽R的背景部分。
某些背景信息:
panel.first = rect(c(1,7), -1e6, c(3,10), 1e6, col='green', border=NA)
前两个参数c(1,7)
是阴影矩形的起始值,后面的参数c(3,10)
是阴影结束的位置。这会创建一个1-3和7-10的阴影区域。