如何更改 ggplot2 中的图例标题(附示例)


有两种简单的方法可以更改 ggplot2 图表中的图例标题:

方法一:使用labs()

 ggplot(data, aes(x=x_var, y=y_var, fill=fill_var)) + 
  geom_boxplot() + 
  labs(fill=' Legend Title ')

方法2:使用scale_fill_manual()

 ggplot(data, aes(x=x_var, y=y_var, fill=fill_var)) + 
  geom_boxplot() +
  scale_fill_manual(' Legend Title ', values=c(' color1 ', ' color2 '))

本教程展示了如何在实践中使用这两种方法的示例。

方法 1:使用 labs() 更改标题

以下代码显示如何为给定数据集创建分组箱线图

 library (ggplot2) 

#create dataset
data <- data.frame(team= rep (c('A', 'B', 'C'), each =50),
                   program= rep (c('low', 'high'), each =25),
                   values= seq (1:150)+ sample (1:100, 150, replace= TRUE ))

#create boxplot
ggplot(data, aes(x=team, y=values, fill=program)) + 
  geom_boxplot() 

默认情况下,ggplot2 使用数据集中的变量名称作为图例标题。但是,我们可以使用labs()函数轻松修改它:

 library (ggplot2) 

#create dataset
data <- data.frame(team= rep (c('A', 'B', 'C'), each =50),
                   program= rep (c('low', 'high'), each =25),
                   values= seq (1:150)+ sample (1:100, 150, replace= TRUE ))

#create boxplot
ggplot(data, aes(x=team, y=values, fill=program)) + 
  geom_boxplot() + 
  labs(fill=' Program Type ') 

更改ggplot2中的图例标题

我们还可以在标题中添加换行符,方法是在我们想要新行开始的位置放置\ n:

 library (ggplot2) 

#create dataset
data <- data.frame(team= rep (c('A', 'B', 'C'), each =50),
                   program= rep (c('low', 'high'), each =25),
                   values= seq (1:150)+ sample (1:100, 150, replace= TRUE ))

#create boxplot
ggplot(data, aes(x=team, y=values, fill=program)) + 
  geom_boxplot() + 
  labs(fill=' Program\nType ') 

更改图例标题并在 ggplot2 中添加换行符

方法 2:使用scale_fill_manual()更改图例标题

我们还可以使用scale_fill_manual()函数同时指定要使用的标题标题和颜色值向量:

 library (ggplot2) 

#create dataset
data <- data.frame(team= rep (c('A', 'B', 'C'), each =50),
                   program= rep (c('low', 'high'), each =25),
                   values= seq (1:150)+ sample (1:100, 150, replace= TRUE ))

#create boxplot
ggplot(data, aes(x=team, y=values, fill=program)) + 
  geom_boxplot() + 
  scale_fill_manual(' Program Type ', values=c(' pink ',' blue ')) 

使用scale_fill_manual更改ggplot2中的图例标题

请注意,颜色值可以是名称或十六进制颜色代码。

其他资源

最佳 ggplot2 主题的完整指南
ggplot2 标题完整指南
如何在 ggplot2 中创建并排图

添加评论

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