如何在 ggplot2 中创建手动图例(带有示例)


通常,您可能希望使用自定义颜色、标签、标题等向 ggplot2 中的绘图添加手动图例。

幸运的是,使用scale_color_manual()函数可以很简单地做到这一点,下面的示例展示了如何做到这一点。

示例:在 ggplot2 中创建手动图例

以下代码展示了如何使用自定义手动图例在 ggplot2 图中绘制三个拟合回归线:

 library (ggplot2)

#create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
  geom_point() +
  geom_smooth(se= FALSE , aes(color=' Linear ')) +
  geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color=' Quadratic ')) +
  geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color=' Cubic ')) +
  scale_color_manual(name=' Regression Model ',
                     breaks=c(' Linear ', ' Quadratic ', ' Cubic '),
                     values=c(' Cubic '=' pink ', ' Quadratic '=' blue ', ' Linear '=' purple ')) 

使用scale_color_manual()函数,我们能够指定图例的以下方面:

  • name : 图例的标题
  • Breaks : 图例中的标签
  • value :图例中的颜色

请注意,我们还可以使用theme()函数来更改图例元素的字体大小:

 library (ggplot2)

#create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
  geom_point() +
  geom_smooth(se= FALSE , aes(color=' Linear ')) +
  geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color=' Quadratic ')) +
  geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color=' Cubic ')) +
  scale_color_manual(name=' Regression Model ',
                     breaks=c(' Linear ', ' Quadratic ', ' Cubic '),
                     values=c(' Cubic '=' pink ', ' Quadratic '=' blue ', ' Linear '=' purple '))+
 theme(legend. title =element_text(size= 20 ),
       legend. text =element_text(size= 14 ))

请注意,标题和说明标签的字体大小已增加。

其他资源

以下教程解释了如何在ggplot2中执行其他常见操作:

如何更改ggplot2中的图例位置
如何更改ggplot2中的图例大小
如何更改ggplot2中的图例标题
如何更改ggplot2中的图例标签

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注