Comment dessiner une légende en dehors d’un tracé dans R
Le moyen le plus simple de dessiner une légende en dehors d’un tracé en base R est d’ajouter un espace supplémentaire à droite du tracé en utilisant la syntaxe suivante :
par(mar=c(5, 4, 4, 8), xpd=TRUE)
L’exemple suivant étape par étape montre comment utiliser cette syntaxe dans la pratique.
Étape 1 : Créer les données
Tout d’abord, créons quelques données avec lesquelles travailler :
#create data frames df1 <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7), y=c(2, 7, 19, 26, 24, 29, 31)) df2 <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7), y=c(4, 4, 7, 9, 12, 13, 8))
Étape 2 : Créer un tracé avec une légende en dehors du tracé
Créons ensuite un tracé et ajoutons une légende en dehors du tracé dans le coin supérieur droit :
#add extra space to the right of the plot
par(mar=c(5, 4, 4, 8), xpd=TRUE)
#plot both data frames
plot(y ~ x, df1, pch=1, main="Scatterplot with multiple groups")
points(y ~ x, df2, pch=3)
#add legend outside of plot
legend("topright", inset=c(-0.2, 0), legend=c("df1","df2"), pch=c(1,3), title="Data")
Étape 3 : Modifier l’emplacement de la légende
L’argument inset(x, y) peut être utilisé pour contrôler l’emplacement de la légende à droite du tracé. Par exemple, nous pouvons rendre l’argument x plus négatif pour pousser la légende encore plus à droite :
#add extra space to the right of the plot
par(mar=c(5, 4, 4, 8), xpd=TRUE)
#plot both data frames
plot(y ~ x, df1, pch=1, main="Scatterplot with multiple groups")
points(y ~ x, df2, pch=3)
#add legend outside of plot
legend("topright", inset=c(-0.3, 0), legend=c("df1","df2"), pch=c(1,3), title="Data")
Nous pouvons également rendre l’argument y plus positif pour pousser la légende plus bas :
#add extra space to the right of the plot
par(mar=c(5, 4, 4, 8), xpd=TRUE)
#plot both data frames
plot(y ~ x, df1, pch=1, main="Scatterplot with multiple groups")
points(y ~ x, df2, pch=3)
#add legend outside of plot
legend("topright", inset=c(-0.3, .5), legend=c("df1","df2"), pch=c(1,3), title="Data")
N’hésitez pas à modifier les valeurs de l’argument inset(x, y) pour modifier l’emplacement de la légende.
Vous pouvez trouver plus de didacticiels R sur cette page .