HOWTO · R
Faire pivoter les étiquettes d'axe dans R
Ce didacticiel montre comment faire pivoter les étiquettes d'axe dans un tracé dans R.
Sur cette page
La base R et ggplot2 ont différentes façons de faire pivoter les étiquettes d’axe dans R. Ce didacticiel montre comment faire pivoter les étiquettes d’axe dans R.
Faire pivoter les étiquettes de graduation dans Base R
Dans la base R, nous pouvons faire pivoter l’étiquette de l’axe horizontalement, verticalement ou perpendiculairement à l’axe. Montrons d’abord le tracé pour lequel nous allons faire pivoter les étiquettes, puis chaque méthode est illustrée ci-dessous.
Le paramètre las contrôle l’orientation des étiquettes de graduation et possède quatre valeurs :
las = 0: étiquettes parallèles à l’axe (valeur par défaut).las = 1: étiquettes horizontales.las = 2: étiquettes perpendiculaires à l’axe.las = 3: étiquettes verticales.
Exemple de code :
# Create example data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Default Plot
plot(xLabel, yLabel)
Production:
Étiquettes horizontales :
On peut faire pivoter l’étiquette de l’axe horizontalement en passant le las=1 dans le tracé.
Exemple de code :
# Create example Data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Horizontal Axis Plot
plot(xLabel, yLabel, las=1)
Le code ci-dessus crée un tracé avec des étiquettes d’axe horizontal.
Production:
Étiquettes verticales :
On peut faire pivoter l’étiquette de l’axe verticalement en passant le las=3 dans le tracé.
Exemple de code :
# Create example Data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Vertical Axis Plot
plot(xLabel, yLabel, las=3)
Le code ci-dessus crée un tracé avec des étiquettes d’axe vertical.
Production:
Étiquettes perpendiculaires :
On peut faire pivoter l’étiquette de l’axe perpendiculairement à l’axe en passant le las=2 dans le tracé.
Exemple de code :
# Create example Data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Perpendicular Axis Plot
plot(xLabel, yLabel, las=2)
Le code ci-dessus crée un tracé perpendiculaire aux étiquettes d’axe.
Production:
La valeur las peut être modifiée dans tout type de tracé dans Base R. Ces valeurs concernent les étiquettes de graduation, et non le titre de l’axe. Pour définir un titre, utilisez un argument séparé comme xlab = "Horizontal value" ou ylab = "Vertical value" :
plot(xLabel, yLabel, las = 3,
xlab = "Horizontal value", ylab = "Vertical value")
Le paramètre las est limité à ces quatre orientations documentées. Pour un angle arbitraire, utilisez une méthode personnalisée de dessin du texte ou l’approche ggplot2 ci-dessous ; axis() avec las ne fournit pas d’angles arbitraires.
Faire pivoter les étiquettes de graduation dans ggplot2
La syntaxe suivante permet de faire pivoter les étiquettes de graduation dans ggplot2. Utilisez axis.text.x pour l’axe x et axis.text.y pour l’axe y ; element_text() définit angle, hjust et vjust.
plot + theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Les étiquettes tourneront à un angle de 45 degrés, et vjust et hjust contrôleront la justification verticale et horizontale du texte de l’étiquette. Créons un tracé pour lequel nous pouvons faire pivoter l’étiquette de l’axe dans ggplot2.
Exemple de code :
# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
Id=c(101, 102, 103, 104, 105))
library(ggplot2)
ggplot(Delftstack, aes(x = Designation, y = Id)) +
geom_col()
Le code ci-dessus créera un tracé par défaut à partir des données fournies.
Production:
Faire pivoter les étiquettes de graduation à 90 degrés dans ggplot2
Nous pouvons donner la valeur 90 à l’angle pour faire pivoter les étiquettes des axes à 90 degrés dans ggplot2.
Exemple de code :
# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
Id=c(101, 102, 103, 104, 105))
ggplot(Delftstack, aes(x = Designation, y = Id)) +
geom_col() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
Le code ci-dessus crée un graphique ggplot2 avec des étiquettes de graduation de l’axe x tournées à 90 degrés.
Production:
Faire pivoter les étiquettes de graduation à 45 degrés dans ggplot2
Nous pouvons donner la valeur 45 à l’angle pour faire pivoter les étiquettes d’axe à 45 degrés dans ggplot2.
Exemple de code :
# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
Id=c(101, 102, 103, 104, 105))
ggplot(Delftstack, aes(x = Designation, y = Id)) +
geom_col() +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Le code ci-dessus crée un graphique ggplot2 avec des étiquettes de graduation de l’axe x tournées à 45 degrés.
Production:
Pour faire pivoter les étiquettes de graduation de l’axe y, remplacez la cible du thème par axis.text.y. Pour faire pivoter un titre d’axe, utilisez axis.title.x ou axis.title.y, par exemple theme(axis.title.x = element_text(angle = 15)). Cela cible le titre, et non le texte des étiquettes de graduation.
Choisir un angle et un alignement
Commencez par 90 degrés lorsque les noms de catégories sont longs ou se chevauchent. Essayez 45 degrés lorsque les étiquettes tiennent en diagonale, puis ajustez hjust et vjust si le texte semble trop éloigné de l’axe. Les valeurs adaptées dépendent des dimensions du graphique, de la police et du périphérique graphique ; examinez le résultat à sa taille prévue. La rotation modifie l’orientation du texte, mais ne crée pas automatiquement davantage d’espace dans une zone de tracé étroite. Les exemples Base R utilisent uniquement le package standard graphics ; les exemples ggplot2 nécessitent le package ggplot2 et un périphérique de rendu du tracé. Si un package n’est pas disponible, installez-le selon la politique de votre environnement de projet au lieu de remplacer l’exemple par un autre système de représentation graphique.