Comment changer le titre de la légende dans ggplot2 (avec exemples)



Il existe deux manières simples de modifier le titre de la légende dans un graphique ggplot2 :

Méthode 1 : utiliser labs()

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

Méthode 2 : utilisez 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'))

Ce didacticiel montre des exemples d’utilisation pratique de ces deux méthodes.

Méthode 1 : modifier le titre de la légende à l’aide de labs()

Le code suivant montre comment créer un boxplot groupé pour un ensemble de données donné :

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()

Par défaut, ggplot2 utilise le nom de la variable dans l’ensemble de données comme titre de légende. Cependant, nous pouvons utiliser la fonction labs() pour le modifier facilement :

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')

Changer le titre de la légende dans ggplot2

Nous pouvons également ajouter un saut de ligne dans le titre de la légende en plaçant \n là où nous souhaitons que la nouvelle ligne commence :

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')

Changer le titre de la légende et ajouter un saut de ligne dans ggplot2

Méthode 2 : modifier le titre de la légende à l’aide de scale_fill_manual()

Nous pouvons également utiliser la fonction scale_fill_manual() pour spécifier simultanément un titre de légende et un vecteur de valeurs de couleur à utiliser :

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'))

Changer le titre de la légende dans ggplot2 en utilisant scale_fill_manual

Notez que les valeurs des couleurs peuvent être des noms ou des codes de couleur hexadécimaux.

Ressources additionnelles

Un guide complet des meilleurs thèmes ggplot2
Le guide complet des titres ggplot2
Comment créer des tracés côte à côte dans ggplot2

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *