Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

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 *