以 mtcars 数据为例,我生成了一个箱线图并想添加矩形。这是我的完整代码。
library(ggplot2)
d=data.frame(x1=c(1,3,1,5,4), x2=c(2,4,3,6,6), y1=c(10,10,20,14,30), y2=c(15,20,25,18,35), t=c('a','a','a','b','b'))
ggplot(mtcars, aes(x = as.factor(mtcars$carb), y = mpg)) + geom_boxplot() + geom_rect(data=d, mapping=aes(xmin=x1, xmax=x2, ymin=y1, ymax=y2, fill=t), color="black", alpha=0.5)
但是,由于美学问题,这不起作用。我不明白为什么,因为上述两个部分中的每一个都是单独工作的,所以:
#part 1 (works)
ggplot(mtcars, aes(x = as.factor(mtcars$carb), y = mpg)) + geom_boxplot()
#part 2 (works)
ggplot() + geom_rect(data=d, mapping=aes(xmin=x1, xmax=x2, ymin=y1, ymax=y2, fill=t), color="black", alpha=0.5)
我将不胜感激任何建议。谢谢你。