ggplot 的每个方面都有不同的 `geom_hline()`

Jas*_*ter 5 r ggplot2 dplyr

刻面

library(tidyverse)
ggplot(mpg, aes(cty, hwy)) + 
  geom_point() + 
  facet_grid(year ~ fl) + 
  geom_hline(yintercept = mean(mpg$hwy))
Run Code Online (Sandbox Code Playgroud)

我希望geom_hline()上面显示的方面中的每个都是仅包含在该方面中的点的平均值。我认为我可以用(如下)之类的东西来做到这一点。但这不起作用。我很接近,对吧?

library(tidyverse)
ggplot(mpg, aes(cty, hwy)) + 
  geom_point() + 
  facet_grid(year ~ fl) + 
  geom_hline(yintercept = mean(mpg %>% group_by(year, fl)$hwy))
Run Code Online (Sandbox Code Playgroud)

小智 5

如果您希望将每个方面的值用作数据框中的一列,并且该值在每个方面内都是唯一的,那么您可以使用 geom_hline(aes(yintercept=column)),然后将绘制一条水平线对于每个方面