La función scale_x_discrete en R
-
Utilice
scale_x_discrete
para invertir el orden de los elementos en el ejex
en la gráfica R -
Utilice
scale_x_discrete
para mostrar el subconjunto de elementos en el ejex
en R -
Utilice
scale_x_discrete
para cambiar el nombre de las etiquetas de los elementos en el ejex
en R -
Utilice
scale_x_discrete
para modificar el nombre del ejex
en R
Este artículo presentará la función scale_x_discrete
en R.
Utilice scale_x_discrete
para invertir el orden de los elementos en el eje x
en la gráfica R
scale_x_discrete
se usa para establecer valores para la estética de la escala discreta del eje x. En este artículo, construimos múltiples gráficos de diagrama de caja usando las funciones ggplot
y geom_boxplot
para demostrar el efecto de diferentes parámetros en scale_x_discrete
. A menudo ocurre que el orden de los elementos en el eje debe invertirse, y el método más fácil para lograrlo es establecer el parámetro limits
del parámetro scale_x_discrete
con el valor de rev(levels(dataset_name$X_axis_items))
. Observe que el nombre del conjunto de datos viene primero, seguido del símbolo ‘$’, y luego especificamos los datos del eje x que deben invertirse.
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)
Utilice scale_x_discrete
para mostrar el subconjunto de elementos en el eje x
en R
Otra característica útil de la función scale_x_discrete
es eliminar algunos elementos del eje x y dibujar solo un puñado de ellos. En este caso, utilizamos el conjunto de datos PlantGrowth
donde se enumeran tres categorías de grupos. Por lo tanto, podemos generar el diagrama de caja con solo los grupos trt2
y trt1
, como se muestra en el siguiente fragmento de código.
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)
Utilice scale_x_discrete
para cambiar el nombre de las etiquetas de los elementos en el eje x
en R
La función scale_x_discrete
también se puede utilizar para cambiar el nombre de las etiquetas de los elementos a lo largo del eje x. Se pueden suministrar nuevos valores de etiqueta con el vector asignado al parámetro labels
en la función 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)
Utilice scale_x_discrete
para modificar el nombre del eje x
en R
Tenga en cuenta que cada método anterior se puede combinar para generar la estructura de gráfico deseada. Por ejemplo, el siguiente código de ejemplo dibuja p4
para mostrar solo el subconjunto de elementos y cambiar el nombre de estas etiquetas con los valores proporcionados. Además, utilizamos scale_x_discrete
para modificar el nombre a lo largo del eje x usando el parámetro 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