Ajouter une légende aux graphiques avec le logiciel R : Comment prendre le contrôle ?


La fonction legend()

La fonction legend() est utilisée pour ajouter des légendes aux graphiques générer par logiciel statistiques R. Un format simplifié de la fonction est:

legend(x, y=NULL, legend, fill, col, bg)

  • x et y indiquent les coordonnées à utiliser pour positionner la légende
  • legend: texte de la légende
  • fill: couleur de remplissage des carrés à côté de la légende
  • col: couleurs des traits ou points qui apparaissent dans la légende
  • bg : couleur de fond de la légende


Exemple :

x<-1:10; y1=x*x; y2=2*y1
plot(x, y1, type="b", pch=19, col="red", xlab="x", ylab="y")
# Ajouter une ligne
lines(x, y2, pch=18, col="blue", type="b", lty=2)
# Ajouter une légende
legend(1, 95, legend=c("Line 1", "Line 2"),
       col=c("red", "blue"), lty=1:2, cex=0.8)

Logiciel R : Ajouter une légende

Pour éviter de répéter le code R, ci-dessus, nous allons créer une fonction qui va nous permettre de générer automatiquement un graphe.

makePlot<-function(){
  x<-1:10; y1=x*x; y2=2*y1
  plot(x, y1, type="b", pch=19, col="red", xlab="x", ylab="y")
  lines(x, y2, pch=18, col="blue", type="b", lty=2)
}

Titre, style de police et couleur de remplissage de la légende

Les paramètres suivants peuvent être utilisés:

  • title: titre de la légende
  • text.font: style de la police du texte de la légende; valeurs possibles :
    • 1: texte normale
    • 2: texte en gras
    • 3: texte en italique
    • 4: texte en italique gras
  • bg: couleur de fond du rectangle de la légende
makePlot()
legend(1, 95, legend=c("Line 1", "Line 2"),
       col=c("red", "blue"), lty=1:2, cex=0.8,
       title="Line types", text.font=4, bg='lightblue')

Logiciel R : Ajouter une légende

Bordure de la légende

Les paramètres box.lty, box.lwd, box.col peuvent être utilisés pour modifier, respectivement, le type de trait, l’épaisseur et la couleur de la bordure de la légende.

# Supprimer la bordure
makePlot()
legend(1, 95, legend=c("Line 1", "Line 2"),
       col=c("red", "blue"), lty=1:2, cex=0.8,
       box.lty=0)
# Changer la bordure
makePlot()
legend(1, 95, legend=c("Line 1", "Line 2"),
       col=c("red", "blue"), lty=1:2, cex=0.8,
       box.lty=2, box.lwd=2, box.col="green")

Logiciel R : Ajouter une légendeLogiciel R : Ajouter une légende

Spécifier la position de la légende par mots clés

La position de la légende peut être spécifiée en utilisant les mots clés suivants: “bottomright”, “bottom”, “bottomleft”, “left”, “topleft”, “top”, “topright”, “right” et “center”.

L’effet produit par chacun des mots clés, cités ci-dessus, est montré sur la figure ci-dessous:

Logiciel R : Ajouter une légende

Exemple 1: lineplot

#  Exemple 1: lineplot
makePlot()
legend("topleft", legend=c("Line 1", "Line 2"),
       col=c("red", "blue"), lty=1:2, cex=0.8)

Logiciel R : Ajouter une légende

Exemple 2: boxplot

attach(mtcars)
boxplot(mpg~cyl, 
        xlab="Cylinders", ylab="Miles/(US) gallon", 
        col=topo.colors(3))
   
legend("bottomleft", inset=.02, title="Number of Cylinders",
   c("4","6","8"), fill=topo.colors(3), horiz=TRUE, cex=0.8)

Logiciel R : Ajouter une légende

Notez que l’argument fill correspond aux couleurs de remplissage des carrés qui sont juste à côté des textes de la légende

Infos

Cette analyse a été réalisée avec le logiciel R (ver. 3.1.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



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