阴影部分的R图

时间:2012-06-28 17:22:54

标签: r plot

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

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)

enter image description here

请注意,我还演示了如何在颜色规范中使用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的阴影区域。