Das Kreisdiagramm wird für die Darstellung von Anteilen in einer Gruppe verwendet.
Ein Kreisdiagramm ist ein Kreis, der in verschiedene Kreissektoren aufgeteilt ist. Der Kreis kann in zwei oder mehr Kreissektoren aufgeteilt werden, welche nicht gleich groß sein müssen. 100% entsprechen dem ganzen Kreis, also 360°. Zum Beispiel entsprechen 25% einem Viertelkreis und somit 1/4⋅360° = 360° : 4 = 90°.
Um also Prozentsätze in einem Kreisdiagramm darzustellen, rechnest du entweder mit der Prozentformel oder mit dem Dreisatz die entsprechenden Winkelgrößen aus.
Das Kreisdiagramm, auch Torten- oder Kuchendiagramm (engl. Pie chart) genannt, ist eine kreisförmige grafische Darstellung von relativen Anteilen, Prozenten oder Häufigkeiten verschiedener Klassen eines quantitativen statistischen Merkmals oder nominalskalierten Merkmals. Entsprechend der Häufigkeit oder des Anteils werden die Klassen in unterschiedlich großen Segmenten im Diagramm abgebildet. So sind die relativen Größen und damit die Bedeutung der einzelnen Klassen auf den ersten Blick zu erfassen.
✓ Die zu untersuchende Merkmale sollen kategorial (nominal- oder ordinalskaliert) sein.
Farbe
Achsenbenennung
Überschriften
deutlich unterschiedliche Anteile am Kreisdiagramm
data <- data.frame(
name=c( rep("braunhaarig",15),
rep("blond",5),
rep("rothaarig",10),
rep("schwarzhaarig",12),
rep("bunthaarig",4))
)
head(data)
mytable <- table(data$name)
mytable
blond braunhaarig bunthaarig rothaarig
5 15 4 10
schwarzhaarig
12
pie (mytable) # einfaches Kreisdiagramm
myClr <- c("gold", "brown","green","red", "black") #Farbe
lbls <- paste(names(mytable),#Beschriftung
"\n", #Zeilenumbruch
mytable, sep="") #Anzahl der Ausprägungen
pie( # Erstelle ein Kreisdiagramm
mytable, #Daten
labels = lbls,#Bezeichnung
col = myClr, #Farbe
main="Kreidiagramm\n Haarfarben")
data <- data.frame(
name <- c("blond","braunhaarig","bunthaarig","rothaarig","schwarzhaarig"),
zahl <- c(mytable[1],mytable[2],mytable[3],mytable[4],mytable[5])
)
colnames(data)[1] <- "name" #Spaltenname ändern
colnames(data)[2] <- "zahl"#Spaltenname ändern
head(data)
library(ggplot2)
ggplot(data, aes (x="", y = zahl, fill = factor(name))) + #Daten einlesen
geom_bar(width = 1, stat = "identity") + #immer so
coord_polar("y")+ # Kreisdiagramm
geom_text(aes(label = paste(round(zahl / sum(zahl) * 100, 1), "%")), #Berechnung der Prozente
position = position_stack(vjust = 0.5)) + #Position mittig
theme_classic() + #Farbe
theme(plot.title = element_text(hjust=0.5), #Titel Höhe
axis.line = element_blank(), # keine Linie
axis.text = element_blank())+ # keine Linietext
labs(fill = "Haarfarbe", #Legend
x = NULL, # keine Achsenwerte
y = NULL, # keine Achsenwerte
title = "Kreisdiagramm") # Titel des Kreisdiagramms
data$name<-factor(data$name, levels=c("bunthaarig", "blond", "rothaarig","schwarzhaarig","braunhaarig")) # Anordnung aufsteigend der Prozente
head(data)
library(ggplot2)
ggplot(data, aes (x="", y = zahl, fill = factor(name))) + #Daten einlesen
geom_bar(width = 1, stat = "identity") + #immer so
coord_polar("y")+ # Kreisdiagramm
geom_text(aes(label = paste(round(zahl / sum(zahl) * 100, 1), "%")), #Berechnung der Prozente
position = position_stack(vjust = 0.5)) + #Postion mittig
theme_classic() + #Farbe
theme(plot.title = element_text(hjust=0.5), #Titel höhe
axis.line = element_blank(), # keine Linie
axis.text = element_blank(), # keine Linie
axis.ticks = element_blank()) + # keine Linie
labs(fill = "Haarfarbe", #Legend
x = NULL, # keine Achsenwerte
y = NULL, # keine Achsenwerte
title = "Kreisdiagramm") # Titel des Kreisdiagramms