Zuweisen von Farben nach Faktor in ggplot2 (mit Beispielen)

Von Fabian
Kategorie: R
Tags: ggplot2
Lesezeit: 2 Minuten

Oft möchten Sie Punkten in einem ggplot2-Plot basierend auf einer kategorialen Variablen Farben zuweisen.

Glücklicherweise ist dies mit der folgenden Syntax einfach zu bewerkstelligen:

ggplot(df, aes(x=x_variable, y=y_variable, color=color_variable)) +
  geom_point()

Dieses Tutorial enthält einige Beispiele für die praktische Verwendung dieser Syntax unter Verwendung des integrierten R-Datasets mit dem Titel iris:

# Die ersten sechs Zeilen des Iris-Datensatzes anzeigen
head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

Beispiel 1: Standardfarben verwenden

Der folgende Code zeigt, wie den Punkten in einem ggplot2-Diagramm basierend auf der Faktorvariablen Species Standardfarben zugewiesen werden:

library(ggplot2)

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() 

Farbe nach Faktor in ggplot2

Da wir keine Farbskala oder Liste benutzerdefinierter Farben angegeben haben, hat ggplot2 den Punkten einfach eine Liste der Standardfarben Rot, Grün und Blau zugewiesen.

Beispiel 2: Verwenden Sie benutzerdefinierte Farben

Der folgende Code zeigt, wie Sie den Punkten in einem ggplot2-Diagramm mithilfe von scale_color_manual() benutzerdefinierte Farben zuweisen:

library(ggplot2)

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() +
  scale_color_manual(values = c("setosa" = "purple",
                                "versicolor" = "orange",
                                "virginica" = "steelblue")) 

ggplot2 mit benutzerdefinierten Farben für kategoriale Variablen

Beachten Sie, dass wir auch hexadezimale Farbcodes verwenden könnten, um die Farben anzugeben.

Beispiel 3: Verwenden Sie eine benutzerdefinierte Farbskala

Der folgende Code zeigt, wie Sie den Punkten in einem ggplot2-Diagramm mithilfe einer benutzerdefinierten Farbskala aus dem RColorBrewer-Paket benutzerdefinierte Farben zuweisen:

library(ggplot2)
library(RColorBrewer)

# benutzerdefinierte Farbskala definieren
myColors <- brewer.pal(3, "Spectral")
names(myColors) <- levels(iris$Species)
custom_colors <- scale_colour_manual(name = "Species Names", values = myColors)

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() +
  custom_colors

RColorBrewer Beispiel in R

Zusätzliche Ressourcen

Erstellen von Side-by-Side-Plots in ggplot2
So ändern Sie den Legendentitel in ggplot2
Eine vollständige Anleitung zu den besten ggplot2-Themen

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: