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