La función scale_y_continuous en R

Jinku Hu 30 enero 2023
  1. Utilice scale_y_continuous para imprimir etiquetas del eje Y como porcentajes en R
  2. Utilice scale_y_continuous para establecer la relación de escala del eje Y en R
  3. Utilice scale_y_continuous para eliminar etiquetas en el eje Y en R
  4. Utilice scale_y_continuous para modificar las etiquetas del eje Y con valores personalizados en R
La función scale_y_continuous en R

Este artículo presentará la función scale_y_continuous en R.

Utilice scale_y_continuous para imprimir etiquetas del eje Y como porcentajes en R

scale_y_continuous se usa para establecer valores para la estética de escala continua del eje y. La función es parte del paquete ggplot2, y se usa principalmente con objetos ggplot para modificar diferentes parámetros para que se dibujen los gráficos. Este ejemplo demuestra el uso de scale_y_continuous para imprimir etiquetas del eje Y como valores porcentuales. Tenga en cuenta que el gráfico de barras apiladas se crea usando la llamada a la función geom_col(position = "fill") y los porcentajes se imprimen usando la función scale::percent como el valor del parámetro labels. Dado que incluimos el paquete scale usando la llamada library, es posible referirse a él usando la notación percent en el alcance de este script.

library(ggplot2)
library(gridExtra)
library(scales)

p1 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill")

p2 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill") +
  scale_y_continuous(labels = percent)

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

scale_y_continuous en r 1

Utilice scale_y_continuous para establecer la relación de escala del eje Y en R

También se puede utilizar scale_y_continuous para establecer la escala del eje y y el valor de incremento para imprimir la siguiente etiqueta. La función seq se utiliza para pasar la secuencia numérica al parámetro breaks en la llamada scale_y_continuous. Interpreta los números como representación seq(from, to, by= ).

library(ggplot2)
library(gridExtra)
library(scales)

p1 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill")

p2 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill") +
  scale_y_continuous(labels = percent)

p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_point(colour = "blue")

p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_point(colour = "brown") +
  scale_y_continuous(breaks = seq(0, 150, 10))

grid.arrange(p1, p2, p3, p4, ncol = 2, nrow =2)

scale_y_continuous en r 2

Utilice scale_y_continuous para eliminar etiquetas en el eje Y en R

Alternativamente, podemos eliminar completamente las etiquetas en el eje y usando la función scale_y_continuous. Para ello, necesitamos pasar el valor NULL como parámetro de breaks. Tenga en cuenta que dibujamos dos gráficos para realizar una comparación visual con la función grid.arrange.

library(ggplot2)
library(gridExtra)

p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "cyan")

p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "pink") +
  scale_y_continuous(breaks = NULL)

grid.arrange(p3, p4, ncol = 2, nrow =2)

scale_y_continuous en r 3

Utilice scale_y_continuous para modificar las etiquetas del eje Y con valores personalizados en R

Algunos de los métodos anteriores se pueden combinar para formar un formato más avanzado de la estética del eje y. En el siguiente fragmento de código, especificamos explícitamente varias etiquetas para imprimir y simultáneamente definimos nuevos valores para ellas usando el parámetro labels. Observe que los nuevos valores son solo notación numérica hexadecimal para los números correspondientes. Finalmente, cambiamos el nombre de la escala del eje y con la cadena dada y el eje x, lo cual se hace usando la función scale_x_discrete.

library(ggplot2)
library(gridExtra)

p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "cyan")

p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "pink") +
  scale_y_continuous(
    breaks = c(50, 60, 70, 80, 90, 100, 110),
    labels = c("32", "3C", "46", "50", "5A", "64", "6E"),
    name = "Decrease\n(hex)") +
  scale_x_discrete(name = "Treatment")

grid.arrange(p3, p4, ncol = 2, nrow =2)

scale_y_continuous en r 4

Autor: 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

Artículo relacionado - R Plot