在ggplot点图中为垂直线添加第二个图例

奥林匹亚

这是我创建的示例ggplot点图:

原始情节

为此,我使用了以下代码:

mtcars$cyl<-as.character(mtcars$cyl)


ggplot(
   mtcars, 
  aes(fill=cyl, 
  y=gear, 
  x=mpg)) + 

  geom_line(aes(group = gear)) +
  geom_vline(xintercept = mean(mtcars$mpg), linetype="dotted", 
         color = "black", size=1) +

  geom_point(aes(color = cyl),size=5) +
  theme_bw() +
  theme(axis.line = element_line(colour = "black"),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.border = element_blank(),
    panel.background = element_blank())

我真正想要的是第二个图例,描述虚线是整体平均值。它看起来像这样:理想的情节

我怎样才能做到这一点?

里卡多·冈萨雷斯·吉尔

这可以是一种解决方案:

library(tidyverse)

mtcars$cyl<-as.character(mtcars$cyl)

d_me <- 
  mtcars %>% 
  summarize(me =  mean(mpg)) %>% 
  mutate(var = "overall \n mean")


mtcars %>% 
ggplot(
  aes(fill=cyl, 
      y=gear, 
      x=mpg)) + 
  geom_line(aes(group = gear)) +
  geom_point(aes(color = cyl),size=5) +
  geom_vline(data = d_me, aes(xintercept = me, linetype = var), 
             color = "black", size=1) +
  scale_linetype_manual(values = "dotted", name = "") +
  theme_bw() +
  theme(axis.line = element_line(colour = "black"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章