La funzione scale_x_discrete in R

La funzione scale_x_discrete in R

Lasha Khintibidze Jul-16, 2021 R R Plot
  1. Usa scale_x_discrete per invertire l’ordine degli elementi sull’asse x nel grafico R
  2. Usa scale_x_discrete per visualizzare il sottoinsieme di elementi sull’asse x in R
  3. Usa scale_x_discrete per rinominare le etichette degli oggetti sull’asse x in R
  4. Usa scale_x_discrete per modificare il nome dell’asse x in R

Questo articolo introdurrà la funzione scale_x_discrete in R.

Usa scale_x_discrete per invertire l’ordine degli elementi sull’asse x nel grafico R

scale_x_discrete viene utilizzato per impostare i valori per l’estetica della scala dell’asse x discreta. In questo articolo, costruiamo più grafici boxplot usando le funzioni ggplot e geom_boxplot per dimostrare l’effetto di diversi parametri in scale_x_discrete. Capita spesso che l’ordine degli elementi sull’asse debba essere invertito e il metodo piùfacile per farloèimpostare il parametro limits del parametro scale_x_discrete con il valore di rev(levels(dataset_name$X_axis_items)). Notare che il nome del set di dati viene prima, seguito dal simbolo $, quindi specifichiamo i dati dell’asse x che devono essere invertiti.

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_discreto in r 1

Usa scale_x_discrete per visualizzare il sottoinsieme di elementi sull’asse x in R

Un’altra caratteristica utile della funzione scale_x_discrete è eliminare alcuni elementi dall’asse x e disegnarne solo una manciata. In questo caso, utilizziamo il set di dati PlantGrowth in cui sono elencate tre categorie di gruppi. Quindi, possiamo produrre il boxplot con solo i gruppi trt2 e trt1, come mostrato nel seguente frammento di codice.

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_discreto in r 2

Usa scale_x_discrete per rinominare le etichette degli oggetti sull’asse x in R

La funzione scale_x_discrete può essere utilizzata anche per rinominare le etichette degli elementi lungo l’asse x. È possibile fornire nuovi valori di etichetta con il vettore assegnato al parametro labels nella funzione 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)

scale_x_discreto in r 3

Usa scale_x_discrete per modificare il nome dell’asse x in R

Notare che ogni metodo precedente può essere combinato per produrre la struttura del grafico desiderata. Ad esempio, il seguente codice di esempio disegna p4 per mostrare solo il sottoinsieme di elementi e rinominare queste etichette con i valori forniti. Inoltre, utilizziamo scale_x_discrete per modificare il nome lungo l’asse x utilizzando il parametro 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_discreto in r 4

Articolo correlato - R Plot

  • Aggiungi rettangolo trasparente a boxplot in R
  • Crea boxplot affiancati in R
  • La funzione scale_colour_discrete in R
  • La funzione scale_y_continuous in R
  • Aggiungi una linea a un grafico con la funzione Lines() in R