Comment créer une légende horizontale dans Base R (2 méthodes)



Vous pouvez utiliser les méthodes suivantes pour créer une légende horizontale dans un tracé en base R :

Méthode 1 : utiliser l’argument horiz

legend('bottom', fill=fill_cols, legend=c('A', 'B', 'C', 'D', 'E', 'F'),
        horiz=TRUE, inset=c(0, -.1), xpd=TRUE)

Cet exemple particulier crée une légende horizontale sous le tracé dans laquelle chaque élément de la légende se trouve sur la même ligne.

Méthode 2 : utiliser l’argument ncol

legend('bottom', fill=fill_cols, legend=c('A', 'B', 'C', 'D', 'E', 'F'),
        ncol=3, inset=c(0, -.15), xpd=TRUE)

Cet exemple particulier crée une légende horizontale sous le tracé avec trois colonnes.

L’argument inset(x, y) contrôle l’emplacement de la légende. En utilisant des valeurs négatives pour la valeur y, nous pouvons pousser la légende vers le bas en dehors du tracé.

L’argument xpd=TRUE nous permet de placer la légende en dehors du tracé tout en restant visible dans la zone de traçage.

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : utilisez l’argument horiz pour créer une légende horizontale en base R

Le code suivant montre comment utiliser l’argument horiz=TRUE dans la fonction legend() pour créer une légende horizontale au bas d’un tracé en base R :

#create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c('red', 'pink', 'blue', 'green', 'purple', 'brown')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend('bottom', fill=fill_cols, legend=c('A', 'B', 'C', 'D', 'E', 'F'),
        horiz=TRUE, inset=c(0, -.1), xpd=TRUE)

tracé horizontal en base R

Notez qu’une légende horizontale a été créée et placée au bas du tracé.

N’hésitez pas à jouer avec les valeurs de l’argument encart pour ajuster également l’emplacement de la légende.

Par exemple, nous pouvons rendre la valeur y de l’argument encart encore plus négative pour pousser la légende encore plus bas :

#create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c('red', 'pink', 'blue', 'green', 'purple', 'brown')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend('bottom', fill=fill_cols, legend=c('A', 'B', 'C', 'D', 'E', 'F'),
        horiz=TRUE, inset=c(0, -.2), xpd=TRUE)

Notez que la légende horizontale a été poussée encore plus bas sous le tracé.

Exemple 2 : utiliser l’argument ncol pour créer une légende horizontale en base R

Le code suivant montre comment utiliser l’argument ncol dans la fonction legend() pour créer une légende horizontale avec trois colonnes au bas d’un tracé en base R :

#create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c('red', 'pink', 'blue', 'green', 'purple', 'brown')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend('bottom', fill=fill_cols, legend=c('A', 'B', 'C', 'D', 'E', 'F'),
        ncol=3, inset=c(0, -.15), xpd=TRUE)

Notez qu’une légende horizontale à trois colonnes a été créée et placée au bas du tracé.

N’hésitez pas à modifier la valeur de l’argument ncol pour créer une légende avec un nombre de colonnes différent.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment modifier la taille de la légende dans le tracé Base R
Comment dessiner une légende en dehors d’un tracé dans R
Comment changer la position de la légende dans les tracés de base R

Ajouter un commentaire

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