ggplot2 légende : Modifier facilement la légende d'un graphique - Logiciel R et visualisation de données


L’objectif de cet tutoriel R est de décrire comment changer la légende d’un graphique généré avec le package ggplot2.

Données

Le jeu de données ToothGrowth est utilisé dans les exemples ci-dessous :

# Convertir la variable dose du type "numeric" au type "factor""
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5

Assurez-vous que la variable dose est convertie en une variable de type “factor” en utilisant le script de R ci-dessus.

Exemple de graphes

library(ggplot2)
p <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) + 
  geom_boxplot()
p

ggplot2 légende - graphique et logiciel R

Changer la position d’une légende

La position de la légende peut être changée en utilisant la fonction theme() comme suit :

p + theme(legend.position="top")
p + theme(legend.position="bottom")

ggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel R

Les valeurs possibles pour l’argument legend.position sont : “left”,“top”, “right”, “bottom”.

Notez que, l’argument legend.position peut être aussi un vecteur numérique c(x, y). Dans ce cas, il est possible de positionner la légende à l’intérieur de la zone graphique. x et y sont les coordonnées de la boîte de légende. Leurs valeurs doivent être entre 0 et 1. c(0,0) correspond à la position “bas-gauche” et c(1,1) correspond à la position “haut-droite”.

p + theme(legend.position = c(0.8, 0.2))

ggplot2 légende - graphique et logiciel R

Changer le titre de la légende et le style de police du texte

# Titre de la légende
p + theme(legend.title = element_text(colour="blue", size=10, 
                                      face="bold"))
# Textes de la légende
p + theme(legend.text = element_text(colour="blue", size=10, 
                                     face="bold"))

ggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel R

Changer la couleur de fond de la légende

# Couleur de fond de la légende
p + theme(legend.background = element_rect(fill="lightblue", 
                                  size=0.5, linetype="solid"))
p + theme(legend.background = element_rect(fill="lightblue",
                                  size=0.5, linetype="solid", 
                                  colour ="darkblue"))

ggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel R

Changer l’ordre des éléments de la légende

Pour modifier l’ordre des éléments à “2”, “0.5”, “1” :

p + scale_x_discrete(limits=c("2", "0.5", "1"))

ggplot2 légende - graphique et logiciel R

Supprimer la légende du graphique

# Supprimer seulement le titre de la légende
p + theme(legend.title = element_blank())
# Supprimer la légende du graphique
p + theme(legend.position='none')

ggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel R

Supprimer les slashes dans la légende d’un barplot

# Graphe par défaut
ggplot(data=ToothGrowth, aes(x=dose, fill=dose)) + geom_bar()
# Changer la couleur de la bordure, 
# mais des slashes sont ajoutés dans la légende
ggplot(data=ToothGrowth, aes(x=dose, fill=dose)) +
  geom_bar(colour="black")
# Supprimer les slashes: 
  #1. Dessiner le barplot sans couleur de bordure,
  #2. Dessiner encore le barplot avec couleur de bordure,
  # mais sans légende (show_guide=FALSE)
ggplot(data=ToothGrowth, aes(x=dose, fill=dose))+ 
  geom_bar() + 
  geom_bar(colour="black", show_guide=FALSE)

ggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel R

guides() : Définir ou supprimer la légende pour une esthétique spécifique

Il est possible d’utiliser la fonction guides() pour définir ou supprimer la légende d’une esthétique particulière - aesthetic en anglais - (fill, color, size, shape, etc).

Le jeu de données mtcars est utilisé :

# Preparer les données : convertir les variables cyl et gear en "facteur"
mtcars$cyl<-as.factor(mtcars$cyl)
mtcars$gear <- as.factor(mtcars$gear)
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Graphique par défaut sans spécification de guides

Le code de R ci-dessous crée un nuage de points. La couleur et la forme des points sont déterminées par les variables facteurs cyl et gear, respectivement. La taille des points est contrôlé par la variable qsec.

p <- ggplot(data = mtcars, 
    aes(x=mpg, y=wt, color=cyl, size=qsec, shape=gear))+
    geom_point()
# Afficher le graphique sans spécification de guides
p

ggplot2 légende - graphique et logiciel R

Changez la position de légende pour plusieurs guides

# Change la position de la légende
p +theme(legend.position="bottom")

ggplot2 légende - graphique et logiciel R

# Boîte de légende horizontal
p +theme(legend.position="bottom", legend.box = "horizontal")

ggplot2 légende - graphique et logiciel R

Change l’ordre des légendes pour plusieurs guides

La fonction guide_legend() est utilisée:

p+guides(color = guide_legend(order=1),
         size = guide_legend(order=2),
         shape = guide_legend(order=3))

ggplot2 légende - graphique et logiciel R

Si une couleur continue est utilisée, l’ordre de la “légende couleur” peut être changée en utilisant la fonction guide_colourbar():

qplot(data = mpg, x = displ, y = cty, size = hwy,
      colour = cyl, shape = drv) +
  guides(colour = guide_colourbar(order = 1),
         alpha = guide_legend(order = 2),
         size = guide_legend(order = 3))

ggplot2 légende - graphique et logiciel R

Supprimer la légende pour une esthétique particulière

Le code R ci-dessous, supprime la légende pour les esthétique couleur et taille :

p+guides(color = FALSE, size = FALSE)

ggplot2 légende - graphique et logiciel R

La suppression d’une légende particulière peut être faite également lorsque vous utilisez les fonctions scale_xx. Dans ce cas l’argument guide est utilisé comme suit :

# Supprimer la légende pour le type de points
p+scale_shape(guide=FALSE)
# Supprimer la légende pour la taille
p +scale_size(guide=FALSE)
# Supprimer la légende pour la couleur
p + scale_color_manual(values=c('#999999','#E69F00','#56B4E9'),
                       guide=FALSE)

ggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel Rggplot2 légende - graphique et logiciel R

Infos

Cette analyse a été faite en utilisant le logiciel R (ver. 3.1.2) et le package ggplot2 (ver. 1.0.0)







Want to Learn More on R Programming and Data Science?

==> Subscribe to our Mailing List <==

* indicates required


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.


Suggestions


ggplot2 couleurs : Changer les couleurs automatiquement et manuellement - Logiciel R et visualisation de données
ggplot2 graduation des axes : Guide pour personnaliser les étiquettes des graduations - Logiciel R et visualisation de données
ggplot2 barplots : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 échelle et transformation des axes - Logiciel R et visualisation de données
ggplot2 titres : Titre principal, titre des axes et légendes - Logiciel R et visualisation de données
ggplot2 - Combiner plusieurs graphiques sur la même page - Logiciel R et visualisation de données
ggplot2 box plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 nuage de points: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 thèmes et couleurs de fond : les 3 éléments - Logiciel R et visualisation de données
ggplot2 textes : Ajouter du texte à un graphique - Logiciel R et visualisation de données
ggplot2 barres d'erreur : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 types de points - Logiciel R et visualisation de données
ggplot2 histogramme : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 - ajouter une ligne droite à un graphe : Ligne horizontale, verticale et droite de régression
ggplot2 graphique linéaire : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2
ggplot2 : heatmap d'une matrice de corrélation - Logiciel R et visualisation de données
ggplot2 type de traits : Comment changer le type de trait d'un graphique avec le logiciel R?
ggplot2 dot plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 facet : diviser un graphique en plusieurs panneaux - Logiciel R et visualisation de données
ggplot2 violin plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 courbe de distribution : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 stripchart (jitter): Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 ECDF graphique: Guide de démarrage rapide pour la fonction de répartition empirique - Logiciel R et visualisation de données
ggplot2 pivoter un graphique : Inverser et retourner le graphique - Logiciel R et visualisation de données
ggplot2 qq plot (quantile - quantile plot) : Guide de démarrage rapide - Logiciel R et visualisation de données

Cette page a été vue 17526 fois
Licence - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions
Licence Creative Commons