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")

Légende en dehors d'un tracé en base R

É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")

Emplacement de la légende en dehors du tracé dans R

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")

Tracé de base en R avec légende à l'extérieur du tracé à droite

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 .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *