HOWTO · R
Dessinez des éléments de légende avec des couleurs différentes dans R
Cet article explique comment dessiner des éléments de légende avec différentes couleurs dans R
Sur cette page
Cet article montrera comment dessiner des éléments de légende avec différentes couleurs dans R.
Utilisez la fonction legend pour ajouter une légende aux tracés dans R
La fonction legend permet de dessiner des objets de légende sur les tracés. Il prend les coordonnées x et y comme les deux premiers arguments pour spécifier la position de la légende. Cependant, il peut être spécifié à l’aide de mots-clés tels que : "left", "bottomright", etc. Le paramètre suivant s’appelle legend, et il est représenté comme un vecteur de caractères qui doivent être affichés dans la légende . Dans ce cas, nous dessinons des lignes et des points indiqués par une forme de triangle ou de cercle. Les lignes et les points ont des couleurs différentes et doivent être affichés dans la légende en conséquence. L’extrait de code suivant dessine uniquement des formes et du texte dans la légende.
library(ggplot2)
plot( 0, type = "n", xlim = c(0,5), ylim = c(0,5) )
A <- matrix( c( c(4,1,3,2), c(1,3,4,4)), ncol = 2 )
B <- matrix( c( c(1,4,3,2), c(1,3,1,1)), ncol = 2 )
lines( A, col = "brown" )
points( A, col = "blue", pch = 17 )
lines( B, col = "cyan" )
points( B, col = "purple", pch = 19 )
legend( x = "topleft",
legend = c("Brown line, blue triangles","Cyan line, purple points"),
col = c("blue","purple"), lwd = 2, lty = c(0,0),
pch = c(17,19) )
On peut aussi ajouter des lignes en augmentant les valeurs du vecteur d’argument lty. Notez que les uns correspondent à la ligne droite et ininterrompue. D’autre part, les arguments pch représentent les symboles de tracé qui correspondent aux valeurs entières 0:25 et sont décrits dans la documentation de la fonction points.
library(ggplot2)
plot( 0, type = "n", xlim = c(0,5), ylim = c(0,5) )
A <- matrix( c( c(4,1,3,2), c(1,3,4,4)), ncol = 2 )
B <- matrix( c( c(1,4,3,2), c(1,3,1,1)), ncol = 2 )
lines( A, col = "brown" )
points( A, col = "blue", pch = 17 )
lines( B, col = "cyan" )
points( B, col = "purple", pch = 19 )
legend( x = "topleft",
legend = c("Brown line, blue triangles","Cyan line, purple points"),
col = c("brown","cyan"), lwd = 1, lty = c(1,1),
pch = c(17,19), merge = FALSE)
Utilisez le double appel legend pour dessiner des éléments de légende avec des couleurs différentes
L’exemple précédent affiche les lignes et les formes d’un seul élément avec la même couleur. Cela peut être résolu par les deux invocations de la fonction legend, dont chacune affiche des lignes et des formes séparément avec des couleurs différentes. Attention cependant, l’un des appels doit avoir des valeurs vectorielles vides pour le paramètre legend.
library(ggplot2)
plot( 0, type = "n", xlim = c(0,5), ylim = c(0,5) )
A <- matrix( c( c(4,1,3,2), c(1,3,4,4)), ncol = 2 )
B <- matrix( c( c(1,4,3,2), c(1,3,1,1)), ncol = 2 )
lines( A, col = "brown" )
points( A, col = "blue", pch = 17 )
lines( B, col = "cyan" )
points( B, col = "purple", pch = 19 )
legend( x = "topleft",
legend = c("Brown line, blue triangles","Cyan line, purple points"),
col = c("brown","cyan"), lwd = 1, lty = c(1,1),
pch = c(NA,NA) )
legend( x = "topleft",
legend = c("",""),
col = c("blue","purple"), lwd = 1, lty = c(0,0),
pch = c(17,19), bty= 'n')