R 将水平矩形添加到ggplot2中的分类箱线图
我想制作一个盒形图,在图的后面有一个水平矩形(或更高的不透明度)。我不知道如何使用分类x轴值来实现这一点,并强制它扩展绘图区域的整个宽度。这很有帮助,但我不确定如何将矩形延伸到绘图区域的边缘 假设我们想在R 将水平矩形添加到ggplot2中的分类箱线图,r,ggplot2,R,Ggplot2,我想制作一个盒形图,在图的后面有一个水平矩形(或更高的不透明度)。我不知道如何使用分类x轴值来实现这一点,并强制它扩展绘图区域的整个宽度。这很有帮助,但我不确定如何将矩形延伸到绘图区域的边缘 假设我们想在钻石上做一个矩形,切割值在3000美元和5000美元之间。我尝试了下面的代码,但它没有扩展到绘图的边缘 rectangle <- data.frame(x = c("Fair","Good","Very good", "Premium", "Ideal"),
钻石上做一个矩形,切割值在3000美元和5000美元之间。我尝试了下面的代码,但它没有扩展到绘图的边缘
rectangle <- data.frame(x = c("Fair","Good","Very good", "Premium", "Ideal"),
lower = rep(3000, 5),
upper = rep(5000, 5))
ggplot() +
geom_boxplot(data=diamonds, aes(x=cut, y=price)) +
geom_rect(data=rectangle, aes(xmin="Fair", xmax="Ideal",
ymin=lower, ymax=upper), alpha=0.1)
rectangle要获得面板边缘的矩形,可以将限制设置为+/-Inf
同样,对于这样的单个矩形(不映射任何美学效果),仅使用annotate
:
annotate("rect", xmin=-Inf, xmax=Inf, ymin=3000, ymax=5000, alpha=0.4)
但是为了完整性,您仍然可以使用geom\u rect
调用
geom_rect(aes(xmin=-Inf, xmax=Inf, ymin=3000, ymax=5000), alpha=0.4)
通过更改几何图形的顺序,可以将矩形移动到箱线图后面
ggplot(diamonds, aes(x=cut, y=price)) +
geom_blank() +
annotate("rect", xmin=-Inf, xmax=Inf, ymin=3000, ymax=5000) +
geom_boxplot()