Comment créer une légende dans ggplot2 avec plusieurs lignes



Vous pouvez utiliser la syntaxe suivante pour créer une légende dans ggplot2 avec plusieurs lignes :

ggplot(df, aes(x=x_var, y=y_var, color=group_var)) +
  geom_point() +
  guides(color=guide_legend(nrow=2, byrow=TRUE)) 

La valeur de l’argument nrow spécifie le nombre de lignes à utiliser dans la légende.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : créer une légende dans ggplot2 avec plusieurs lignes

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur divers joueurs de basket-ball :

#create data frame
df <- data.frame(team=c('Mavs', 'Heat', 'Nets', 'Lakers', 'Suns', 'Cavs'),
                 points=c(24, 20, 34, 39, 28, 29),
                 assists=c(5, 7, 6, 9, 12, 13))

#view data frame
df

    team points assists
1   Mavs     24       5
2   Heat     20       7
3   Nets     34       6
4 Lakers     39       9
5   Suns     28      12
6   Cavs     29      13

Si nous créons un nuage de points dans ggplot2 sans spécifier le nombre de lignes à utiliser dans la légende, ggplot2 placera par défaut une étiquette sur chaque ligne :

library(ggplot2)

#create default scatterplot
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size=3)

Afin de créer une légende avec plusieurs lignes, nous devons utiliser la fonction guides() avec l’argument nrow :

library(ggplot2)

#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size=3) +
  guides(color=guide_legend(nrow=2, byrow=TRUE)) 

Notez que la légende comporte désormais deux lignes.

Si nous souhaitons également modifier l’emplacement de la légende, nous pouvons utiliser la fonction theme() avec l’argument legend.position :

library(ggplot2)

#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size=3) +
  theme(legend.position='bottom') +
  guides(color=guide_legend(nrow=2, byrow=TRUE)) 

La légende est désormais située en bas du tracé et comporte deux lignes.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans ggplot2 :

Comment changer le titre de la légende dans ggplot2
Comment changer la taille de la légende dans ggplot2
Comment changer la position de la légende dans ggplot2

Ajouter un commentaire

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