Erstellen von Kreisdiagrammen in ggplot2 (mit Beispielen)

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

Ein Kreisdiagramm ist eine Art Diagramm, das wie ein Kreis geformt ist und Slices verwendet, um Proportionen eines Ganzen darzustellen.

In diesem Tutorial wird erläutert, wie Sie Kreisdiagramme in R mithilfe der Datenvisualisierungsbibliothek ggplot2 erstellen und ändern.

So erstellen Sie ein einfaches Kreisdiagramm

Der folgende Code zeigt, wie Sie mit ggplot2 ein grundlegendes Kreisdiagramm für ein Dataset erstellen:

library(ggplot2)

#Dataframe erstellen
data <- data.frame("category" = c('A', 'B', 'C', 'D'),
                   "amount" = c(25, 40, 27, 8))

#Kreisdiagramm erstellen
ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) 

ggplot2 Kreisdiagramm

So ändern Sie das Erscheinungsbild des Kreisdiagramms

Das Standard-Kreisdiagramm in ggplot2 ist ziemlich hässlich. Der einfachste Weg, um das Erscheinungsbild zu verbessern, ist die Verwendung von theme_void(), mit dem der Hintergrund, das Raster und die Beschriftungen entfernt werden:

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  theme_void()

ggplot2 Kreisdiagramm ohne Beschriftungen

Wir können das Erscheinungsbild des Diagramms weiter verbessern, indem wir den Slices Beschriftungen hinzufügen:

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  geom_text(aes(label = paste0(amount, "%")), position = position_stack(vjust=0.5)) +
  labs(x = NULL, y = NULL, fill = NULL)

Kreisdiagramm in ggplot2 mit benutzerdefinierten Beschriftungen

Wir können das Diagramm noch weiter anpassen, indem wir unsere eigenen Hex-Farben angeben, die für die Slices mit dem Argument scale_fill_manual() verwendet werden sollen:

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  geom_text(aes(label = paste0(amount, "%")), position = position_stack(vjust=0.5)) +
  labs(x = NULL, y = NULL, fill = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_manual(values=c("#FF5733", "#75FF33", "#33DBFF", "#BD33FF"))

Skalieren Sie das manuelle ggplot2-Kreisdiagramm

Tipp: Verwenden Sie diesen Hex-Farbwähler, um Kombinationen von Hex-Farbcodes zu finden, die gut zusammenpassen.

Sie können die Farben der Scheiben auch anpassen, indem Sie einfach eine der Brauer-Farbskalen auswählen. So sieht beispielsweise die Farbskala „Blau“ aus:

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  geom_text(aes(label = paste0(amount, "%")), position = position_stack(vjust=0.5)) +
  labs(x = NULL, y = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_brewer(palette="Blues")

Scale Brewer in ggplot2

Zusätzliche Ressourcen

So erstellen Sie ein gruppiertes Boxplot in R mit ggplot2
So erstellen Sie eine Heatmap in R mit ggplot2
So erstellen Sie ein Gantt-Diagramm in R mit ggplot2

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: