This question already has answers here:
Make the background of a graph different colours in different regions

(3个答案)


2年前关闭。




我正在使用ggplot2创建一些相当简单的散点图。我目前有两条简单的垂直线使用:
... + geom_vline(xintercept=159684.186,linetype="dotted",size=0.6)+
geom_vline(xintercept=159683.438,linetype="dotted",size=0.6)+ ...

谁能告诉我如何对从Y轴顶部到X轴这两行之间的区域进行着色?

最佳答案

您可以使用geom_rect

... + geom_rect(aes(xmin=159683.438, xmax=159684.186, ymin=0, ymax=Inf))

x的两个值来自您的geom_vline调用。使用ymin=0将其降低到0; ymax=Inf将它一直带到轴的顶部。如果您希望它一直下降到x轴而不是0,可以使用ymin=-Inf

一些注意事项:

如果它在几何顺序中处于较早的位置,则效果最好,以便首先绘制/在其他部分下方绘制(尤其是散点图数据)。

您可以将fill调用之外的填充颜色(美观的aes)设置为固定值。我还将透明度(alpha)设置为0.5左右,以便仍然可以看到其后面的东西(网格线,最有可能的是,如果将其作为第一个geom)。

关于r - ggplot2-两条垂直线之间的阴影区域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9178024/

10-12 20:00