A função scale_x_discrete em R

Jinku Hu 15 fevereiro 2024
  1. Use scale_x_discrete para inverter a ordem dos itens no eixo x no gráfico R
  2. Use scale_x_discrete para exibir o subconjunto de itens no eixo x em R
  3. Use scale_x_discrete para renomear os rótulos dos itens no eixo x em R
  4. Use scale_x_discrete para modificar o nome do eixo x em R
A função scale_x_discrete em R

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

Use scale_x_discrete para inverter a ordem dos itens no eixo x no gráfico R

scale_x_discrete é usado para definir valores para estética de escala discreta do eixo x. Neste artigo, construímos vários gráficos de boxplot usando as funções ggplot e geom_boxplot para demonstrar o efeito de diferentes parâmetros em scale_x_discrete. Muitas vezes é o caso em que a ordem dos itens no eixo precisa ser invertida, e o método mais fácil para fazer isso é definir o parâmetro limits do parâmetro scale_x_discrete com o valor de rev(levels(dataset_name$X_axis_items)). Observe que o nome do conjunto de dados vem primeiro, seguido pelo símbolo $, e então especificamos os dados do eixo x que precisam ser revertidos.

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)

scale_x_discrete em r 1

Use scale_x_discrete para exibir o subconjunto de itens no eixo x em R

Outro recurso útil da função scale_x_discrete é eliminar alguns itens do eixo x e desenhar apenas alguns deles. Neste caso, utilizamos o conjunto de dados PlantGrowth onde três categorias de grupos são listadas. Assim, podemos produzir o boxplot apenas com os grupos trt2 e trt1, conforme mostrado no seguinte trecho 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)

scale_x_discrete em r 2

Use scale_x_discrete para renomear os rótulos dos itens no eixo x em R

A função scale_x_discrete também pode ser usada para renomear rótulos de itens ao longo do eixo x. Novos valores de rótulo podem ser fornecidos com o vetor atribuído ao parâmetro rótulos na função escala_x_discreta.

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)

scale_x_discrete em r 3

Use scale_x_discrete para modificar o nome do eixo x em R

Observe que cada método anterior pode ser combinado para gerar a estrutura de gráfico desejada. Por exemplo, o código de exemplo a seguir desenha p4 para mostrar apenas o subconjunto de itens e renomear esses rótulos com os valores fornecidos. Além disso, utilizamos scale_x_discrete para modificar o nome ao longo do eixo x usando o 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)

scale_x_discrete in 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