Die scale_x_discrete-Funktion in R

Jinku Hu 30 Januar 2023
  1. Verwenden Sie scale_x_discrete, um die Reihenfolge der Elemente auf der x-Achse im R-Plot umzukehren
  2. Verwenden Sie scale_x_discrete, um eine Teilmenge der Elemente auf der x-Achse in R . anzuzeigen
  3. Verwenden Sie scale_x_discrete, um Artikelbezeichnungen auf der x-Achse in R . umzubenennen
  4. Verwenden Sie scale_x_discrete, um den x-Achsennamen in R . zu ändern
Die scale_x_discrete-Funktion in R

Dieser Artikel stellt die Funktion scale_x_discrete in R vor.

Verwenden Sie scale_x_discrete, um die Reihenfolge der Elemente auf der x-Achse im R-Plot umzukehren

scale_x_discrete wird verwendet, um Werte für die diskrete x-Achsen-Skalenästhetik festzulegen. In diesem Artikel erstellen wir mehrere Boxplot-Graphen mit den Funktionen ggplot und geom_boxplot, um die Wirkung verschiedener Parameter in scale_x_discrete zu ​​demonstrieren. Es ist oft der Fall, dass die Reihenfolge der Elemente auf der Achse umgekehrt werden muss, und die einfachste Methode, dies zu erreichen, besteht darin, den limits-Parameter des scale_x_discrete-Parameters auf den Wert von rev(levels(dataset_name$X_axis_items)). Beachten Sie, dass der Name des Datensatzes zuerst kommt, gefolgt vom $-Symbol, und dann geben wir die x-Achsen-Daten an, die umgekehrt werden müssen.

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

Verwenden Sie scale_x_discrete, um eine Teilmenge der Elemente auf der x-Achse in R . anzuzeigen

Eine weitere nützliche Funktion der Funktion scale_x_discrete besteht darin, einige Elemente von der x-Achse zu entfernen und nur eine Handvoll davon zu zeichnen. In diesem Fall verwenden wir den Datensatz PlantGrowth, in dem drei Kategorien von Gruppen aufgeführt sind. Somit können wir den Boxplot nur mit den Gruppen trt2 und trt1 ausgeben, wie im folgenden Code-Schnipsel gezeigt.

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

Verwenden Sie scale_x_discrete, um Artikelbezeichnungen auf der x-Achse in R . umzubenennen

Die Funktion scale_x_discrete kann auch verwendet werden, um Artikelbezeichnungen entlang der x-Achse umzubenennen. Neue Labelwerte können mit dem dem Parameter labels zugewiesenen Vektor in der Funktion scale_x_discrete versorgt werden.

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 in r 3

Verwenden Sie scale_x_discrete, um den x-Achsennamen in R . zu ändern

Beachten Sie, dass jede vorherige Methode kombiniert werden kann, um die gewünschte Graphstruktur auszugeben. Der folgende Beispielcode zeichnet z. B. p4, um nur die Teilmenge der Elemente anzuzeigen, und benennt diese Labels mit den angegebenen Werten um. Zusätzlich verwenden wir scale_x_discrete, um den Namen entlang der x-Achse mit dem Parameter name zu ändern.

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

Verwandter Artikel - R Plot