阴影部分的R图

问题描述 投票:8回答:2

我试图在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行到结束绘制灰色框?

r plot
2个回答
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
投票

我发现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之间的阴影区域。

© www.soinside.com 2019 - 2024. All rights reserved.