A função scale_y_continuous em R

Jinku Hu 15 fevereiro 2024
  1. Use scale_y_continuous para imprimir etiquetas do eixo Y como porcentagens em R
  2. Use scale_y_continuous para definir a proporção de escala do eixo Y em R
  3. Use scale_y_continuous para remover rótulos no eixo Y em R
  4. Use scale_y_continuous para modificar os rótulos do eixo Y com valores personalizados em R
A função scale_y_continuous em R

Este artigo irá apresentar a função scale_y_continuous em R.

Use scale_y_continuous para imprimir etiquetas do eixo Y como porcentagens em R

scale_y_continuous é usado para definir valores para a estética da escala do eixo y contínuo. A função é parte do pacote ggplot2 e é usada principalmente com objetos ggplot para modificar diferentes parâmetros para gráficos a serem desenhados. Este exemplo demonstra o uso de scale_y_continuous para imprimir rótulos do eixo Y como valores percentuais. Observe que o gráfico de barras empilhadas é criado usando a chamada de função geom_col(position = "fill") e as porcentagens são impressas usando a função scales::percent como o valor do parâmetro labels. Uma vez que incluímos o pacote scales usando a chamada library, é possível referir-se a ele usando a notação percent no escopo deste 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 em r 1

Use scale_y_continuous para definir a proporção de escala do eixo Y em R

Também se pode utilizar scale_y_continuous para definir a escala do eixo y e o valor de incremento para imprimir a próxima etiqueta. A função seq é usada para passar a sequência numérica para o parâmetro breaks na chamada scale_y_continuous. Ele interpreta os números como representação 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)

escala_y_contínua em r 2

Use scale_y_continuous para remover rótulos no eixo Y em R

Como alternativa, podemos remover totalmente os rótulos no eixo y usando a função scale_y_continuous. Para isso, precisamos passar o valor NULL como o parâmetro breaks. Observe que desenhamos dois gráficos para comparação visual com a função 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 em r 3

Use scale_y_continuous para modificar os rótulos do eixo Y com valores personalizados em R

Alguns dos métodos anteriores podem ser combinados para formar uma formatação mais avançada da estética do eixo y. No fragmento de código a seguir, especificamos explicitamente vários rótulos a serem impressos e, simultaneamente, definimos novos valores para eles usando o parâmetro rótulos. Observe que os novos valores são apenas notações numéricas hexadecimais para os números correspondentes. Finalmente, renomeamos a escala do eixo y com a string dada e o eixo x, o que é feito usando a função 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)

escala_y_contínua em 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

Artigo relacionado - R Plot