La fonction scale_x_discrete dans R
-
Utilisez
scale_x_discrete
pour inverser l’ordre des éléments sur l’axex
dans le tracé R -
Utilisez
scale_x_discrete
pour afficher le sous-ensemble d’éléments sur l’axex
dans R -
Utilisez
scale_x_discrete
pour renommer les étiquettes des éléments sur l’axex
dans R -
Utilisez
scale_x_discrete
pour modifier le nom de l’axex
dans R
Cet article présentera la fonction scale_x_discrete
dans R.
Utilisez scale_x_discrete
pour inverser l’ordre des éléments sur l’axe x
dans le tracé R
scale_x_discrete
est utilisé pour définir des valeurs pour l’esthétique de l’échelle discrète de l’axe X. Dans cet article, nous construisons plusieurs graphes à moustaches en utilisant les fonctions ggplot
et geom_boxplot
pour démontrer l’effet de différents paramètres dans scale_x_discrete
. Il arrive souvent que l’ordre des éléments sur l’axe doive être inversé, et la méthode la plus simple pour y parvenir est de définir le paramètre limits
du paramètre scale_x_discrete
avec la valeur de rev(levels(dataset_name$X_axis_items))
. Notez que le nom de l’ensemble de données vient en premier, suivi du symbole $
, puis nous spécifions les données de l’axe des x qui doivent être inversées.
library(ggplot2)
library(gridExtra)
p1 <- ggplot(Loblolly, aes(x = Seed, y = height)) +
geom_boxplot(fill = "cyan")
p2 <- ggplot(Loblolly, aes(x = Seed, y = height)) +
geom_boxplot(fill = "orange") +
scale_x_discrete(limits = rev(levels(Loblolly$Seed)))
grid.arrange(p1, p2, ncol = 2, nrow =2)
Utilisez scale_x_discrete
pour afficher le sous-ensemble d’éléments sur l’axe x
dans R
Une autre fonctionnalité utile de la fonction scale_x_discrete
est d’éliminer certains éléments de l’axe des x et de n’en dessiner qu’une poignée. Dans ce cas, nous utilisons le jeu de données PlantGrowth
où trois catégories de groupes sont répertoriées. Ainsi, nous pouvons générer la boîte à moustaches avec uniquement les groupes trt2
et trt1
, comme indiqué dans l’extrait de code suivant.
library(ggplot2)
library(gridExtra)
p1 <- ggplot(Loblolly, aes(x = Seed, y = height)) +
geom_boxplot(fill = "cyan")
p2 <- ggplot(Loblolly, aes(x = Seed, y = height)) +
geom_boxplot(fill = "orange") +
scale_x_discrete(limits = rev(levels(Loblolly$Seed)))
p3 <- ggplot(PlantGrowth, aes(x = group, y = weight)) +
geom_boxplot(fill = "pink")
p4 <- ggplot(PlantGrowth, aes(x = group, y = weight)) +
geom_boxplot(fill = "green") +
scale_x_discrete(limits = c("trt2", "trt1"))
grid.arrange(p1, p2, p3, p4, ncol = 2, nrow =2)
Utilisez scale_x_discrete
pour renommer les étiquettes des éléments sur l’axe x
dans R
La fonction scale_x_discrete
peut également être utilisée pour renommer les étiquettes des éléments le long de l’axe des x. De nouvelles valeurs d’étiquettes peuvent être fournies avec le vecteur affecté au paramètre labels
dans la fonction scale_x_discrete
.
library(ggplot2)
library(gridExtra)
p1 <- ggplot(PlantGrowth, aes(x = group, y = weight)) +
geom_boxplot(fill = "cyan")
p2 <- ggplot(PlantGrowth, aes(x = group, y = weight)) +
geom_boxplot(fill = "pink") +
scale_x_discrete(
labels = c("Control", "Treatment 1", "Treatment 2")
)
grid.arrange(p1, p2, ncol = 2, nrow =2)
Utilisez scale_x_discrete
pour modifier le nom de l’axe x
dans R
Notez que chaque méthode précédente peut être combinée pour produire la structure graphique souhaitée. Par exemple, l’exemple de code suivant dessine p4
pour afficher uniquement le sous-ensemble d’éléments et renommer ces étiquettes avec les valeurs fournies. De plus, nous utilisons scale_x_discrete
pour modifier le nom le long de l’axe des x à l’aide du paramètre name
.
library(ggplot2)
library(gridExtra)
p1 <- ggplot(PlantGrowth, aes(x = group, y = weight)) +
geom_boxplot(fill = "cyan")
p2 <- ggplot(PlantGrowth, aes(x = group, y = weight)) +
geom_boxplot(fill = "pink") +
scale_x_discrete(
labels = c("Control", "Treatment 1", "Treatment 2")
)
p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_boxplot(fill = "orange")
p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_boxplot(fill = "green") +
scale_x_discrete(
limits = c("A", "B"),
labels = c("Alice", "Bob"),
name = "Treatment"
)
grid.arrange(p1, p2, p3, p4, ncol = 2, nrow =2)
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