Modifier les étiquettes de coche de l'axe X de ggplot dans R

Jinku Hu 30 janvier 2023
  1. Utilisez scale_x_discrete pour modifier les étiquettes de coche de l’axe X ggplot dans R
  2. Utilisez scale_x_discrete avec la fonction personnalisée pour modifier les étiquettes de coche de l’axe X ggplot dans R
Modifier les étiquettes de coche de l'axe X de ggplot dans R

Cet article présentera comment modifier les étiquettes de graduation de l’axe des x ggplot dans R.

Utilisez scale_x_discrete pour modifier les étiquettes de coche de l’axe X ggplot dans R

scale_x_discrete avec scale_y_discrete sont utilisés pour une manipulation avancée des étiquettes et des limites d’échelle de tracé. Dans ce cas, nous utilisons scale_x_discrete pour modifier les étiquettes de graduation de l’axe x pour les objets ggplot. Notez que le premier objet ggplot est un graphique à barres basé sur l’ensemble de données diamonds. Le graphique utilise la colonne cut et trace le nombre de chaque type sur l’axe y. L’axe x a le titre par défaut - cut, qui peut être modifié en passant la chaîne comme premier argument de scale_x_discrete. Alternativement, nous pouvons transmettre des valeurs de chaîne spécifiques pour chaque étiquette en construisant un vecteur et en l’affectant au paramètre labels. Les deux graphiques sont tracés côte à côte à l’aide de la fonction grid.arrange, qui fait partie du package gridExtra.

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))

grid.arrange(p1, p2, ncol = 2)

étiquettes de graduation de l&rsquo;axe ggplot 1

Une autre méthode utile pour modifier les étiquettes sur l’axe x consiste à passer un objet fonction en tant que paramètre labels. L’extrait de code suivant utilise la fonction abbreviate pour raccourcir automatiquement les étiquettes, puis tracer des graphiques sur deux colonnes.

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))
p3 <- p1 + scale_x_discrete("Cut Type", labels = abbreviate)

grid.arrange(p2, p3, ncol = 2)

étiquettes de graduation de l&rsquo;axe ggplot 2

scale_x_discrete fonctionne de manière similaire sur différents graphiques, et la technique de manipulation d’étiquette est applicable, comme indiqué dans l’exemple suivant. A savoir, plusieurs nuages ​​de points sont tirés de l’ensemble de données mpg.

library(ggplot2)
library(gridExtra)

p1 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point()

p2 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point() +
  scale_x_discrete(labels = abbreviate)

p3 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point(colour = "blue") +
  scale_x_discrete(labels = abbreviate)

grid.arrange(p1, p2, p3, nrow = 3)

étiquettes de graduation de l&rsquo;axe ggplot 3

Utilisez scale_x_discrete avec la fonction personnalisée pour modifier les étiquettes de coche de l’axe X ggplot dans R

Le paramètre scale_x_discrete labels peut prendre un objet de fonction personnalisé pour modifier chaque étiquette de graduation en conséquence. Dans ce cas, nous avons implémenté la fonction capitalize_all qui abrège d’abord chaque étiquette, puis convertit le caractère de début de la chaîne en majuscule. Notez que les fonctions intégrées paste, toupper, substring et abbreviate sont utilisées pour implémenter la fonctionnalité capitalize_all, mais un examen complet de ces méthodes est hors de portée de cet article. Les pages de manuel peuvent être affichées en utilisant la notation ?function_name dans la console R.

library(ggplot2)
library(gridExtra)

capitalize_all <- Vectorize(function(x) {
  s <- abbreviate(x)
  paste(toupper(substring(s, 1,1)), substring(s, 2), sep="", collapse=" ")
})

ggplot(mpg, aes(manufacturer, cty)) + geom_point(aes(colour = trans)) +
  scale_x_discrete(labels = capitalize_all)

étiquettes de graduation de l&rsquo;axe ggplot 4

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - R Plot