首页 > 解决方案 > geom_rect 的行为不符合预期

问题描述

我正在尝试在图形顶部覆盖一些矩形。通过使用geom_polygon,它工作正常。

dpol=data.frame(x=c(3.5,4.5,4.5,3.5, 5.5,6.5,6.5,5.5), 
                y=c(20,20,35,35,  16,16,23,23), 
                grp=c('a', 'a', 'a', 'a',  'b', 'b', 'b', 'b'), 
                r=c(1,2,3,4, 5,6,7,8))
mtcars %>% 
  ggplot(aes(x=cyl,y=mpg)) +
  geom_point()+
  geom_polygon(data=dpol, 
               aes(x=x, y=y, group=grp,col=grp), 
               size=1, fill=NA)

在此处输入图像描述

但是当我尝试使用时geom_rect,它会给出错误:

drect=data.frame(x1=c(3.5,5.5,7.5,3,5), 
                 x2=c(4.5,6.5,8.5,7,9), 
                 y1=c(20,16,10,15,8), 
                 y2=c(35,23,20,37,25), 
                 grp=c('a','a','a','b','b'), 
                 r=c(1,2,3,4,5))
mtcars %>% 
  ggplot(aes(x=cyl,y=mpg)) +
  geom_point()+
  geom_rect(data = drect, 
            aes(xmin=x1, xmax=x2, ymin=y1, ymax=y2, col=grp),
            size=2, fill=NA)

FUN(X[[i]], ...) 中的错误:找不到对象“cyl”

我注意到aes在两个函数中采用不同的参数。谁能澄清发生了什么?

标签: rggplot2

解决方案


推荐阅读