ggplot X-Achsen-Tick-Beschriftungen in R . ändern

Jinku Hu 30 Januar 2023
  1. Verwenden Sie scale_x_discrete, um ggplot X-Achsen-Tick-Labels in R . zu ändern
  2. Verwenden Sie scale_x_discrete mit benutzerdefinierter Funktion, um die X-Achsen-Tick-Beschriftungen von ggplot in R . zu ändern
ggplot X-Achsen-Tick-Beschriftungen in R . ändern

In diesem Artikel erfahren Sie, wie Sie die Tick-Beschriftungen der X-Achse von ggplot in R ändern.

Verwenden Sie scale_x_discrete, um ggplot X-Achsen-Tick-Labels in R . zu ändern

scale_x_discrete zusammen mit scale_y_discrete werden für die erweiterte Manipulation von Plotskalierungsbeschriftungen und -grenzen verwendet. In diesem Fall verwenden wir scale_x_discrete, um die Tick-Beschriftungen der x-Achse für ggplot-Objekte zu ändern. Beachten Sie, dass das erste ggplot-Objekt ein Balkendiagramm ist, das auf dem diamanten-Datensatz basiert. Der Graph verwendet die Spalte cut und trägt die Anzahl jedes Typs auf der y-Achse. x-Achse hat den Standardtitel - cut, der geändert werden kann, indem der String als erstes Argument von scale_x_discrete übergeben wird. Alternativ können wir für jedes Label spezifische Stringwerte übergeben, indem wir einen Vektor konstruieren und ihn dem Parameter labels zuweisen. Beide Graphen werden mit der Funktion grid.arrange, die Teil des gridExtra-Pakets ist, nebeneinander gezeichnet.

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))

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

Tick-Beschriftungen der ggplot-Achse 1

Eine weitere nützliche Methode, um die Labels auf der x-Achse zu ändern, besteht darin, ein Funktionsobjekt als labels-Parameter zu übergeben. Der nächste Code-Schnipsel verwendet die Funktion Abkürzen, um die Beschriftungen automatisch zu kürzen und dann Graphen als zwei Spalten zu zeichnen.

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))
p3 <- p1 + scale_x_discrete("Cut Type", labels = abbreviate)

grid.arrange(p2, p3, ncol = 2)

Tick-Beschriftungen der ggplot-Achse 2

scale_x_discrete funktioniert auf verschiedene Graphen ähnlich, und die Label-Manipulationstechnik ist anwendbar, wie im folgenden Beispiel gezeigt. Aus dem ‘mpg’-Datensatz werden nämlich mehrere Streudiagramme gezeichnet.

library(ggplot2)
library(gridExtra)

p1 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point()

p2 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point() +
  scale_x_discrete(labels = abbreviate)

p3 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point(colour = "blue") +
  scale_x_discrete(labels = abbreviate)

grid.arrange(p1, p2, p3, nrow = 3)

Tick-Beschriftungen der ggplot-Achse 3

Verwenden Sie scale_x_discrete mit benutzerdefinierter Funktion, um die X-Achsen-Tick-Beschriftungen von ggplot in R . zu ändern

Der Parameter scale_x_discrete labels kann ein benutzerdefiniertes Funktionsobjekt verwenden, um jedes Tick-Label entsprechend zu ändern. In diesem Fall haben wir die Funktion capitalize_all implementiert, die jedes Label zuerst abkürzt und dann das Anfangszeichen des Strings in einen Großbuchstaben umwandelt. Beachten Sie, dass die eingebauten Funktionen paste, toupper, substring und abbreviate verwendet werden, um die capitalize_all-Funktionalität zu implementieren, aber eine vollständige Überprüfung dieser Methoden würde den Rahmen dieses Artikels sprengen. Handbuchseiten können mit der Notation ?function_name in der R-Konsole angezeigt werden.

library(ggplot2)
library(gridExtra)

capitalize_all <- Vectorize(function(x) {
  s <- abbreviate(x)
  paste(toupper(substring(s, 1,1)), substring(s, 2), sep="", collapse=" ")
})

ggplot(mpg, aes(manufacturer, cty)) + geom_point(aes(colour = trans)) +
  scale_x_discrete(labels = capitalize_all)

Tick-Beschriftungen der ggplot-Achse 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