将geom_boxplot的图例添加到geom_violin图的图例中

时间:2018-01-11 12:23:32

标签: r ggplot2 legend

我有以下代码:

librery(ggplot2)
ggplot( mtcars ) + 
  geom_violin(  
    aes(
      x = factor(cyl), 
      y = mpg, 
      fill = factor(cyl)
    )
  ) +   
  geom_boxplot( 
    aes( 
      x = factor(cyl),
      y = qsec,
      fill = "blue"
    ),
    width = 0.3,
    alpha = 0.4
  )

生成以下图表

enter image description here

情节看起来不错,但我想以不同的方式传说:

  • 4至6仅显示颜色
  • 'blue'显示boxplot符号,但没有背景颜色,并带有 传奇“boxplot qsec”

我确信这是可能的(ggplot有一切可能...)但是如何?

1 个答案:

答案 0 :(得分:1)

在ggplot中,你会得到一个每个美学的传奇,你已经使用填充小提琴,所以你可以使用颜色的箱形图来制作两个单独的传说。指定fill之外的aes箱图,并在scale_color_manual中手动指定颜色。 这是一种方法:

ggplot(mtcars ) + 
  geom_violin(  
    aes(
      x = factor(cyl), 
      y = mpg, 
      fill = factor(cyl)
    )
  ) +   
  geom_boxplot( 
    aes( 
      x = factor(cyl),
      y = qsec,
      color = "blue"),
    width = 0.3,
    alpha = 0.4,
    fill = "blue"
  )+
  +
  scale_color_manual("The QSECS", labels = "text", values = "blue" ) +
  guides(fill = guide_legend(title = "Cylinders"))

enter image description here