• Show All Code
  • Hide All Code
  • Download Rmd
data <- data.frame(
  name=c( rep("braunhaarig",15),  
          rep("blond",5),
          rep("rothaarig",10),
          rep("schwarzhaarig",12),
          rep("bunthaarig",4))
  )
View(data)

 a<- sample(x = 1:2, size = 45, replace = TRUE)
  
data1 <- data.frame(
  geschlecht=c( rep("männlich",20),  
           rep("weilblich",25)),
  brille = a
  )

data1 <- data1 %>%
  mutate(brille   = factor(brille, levels = c(2, 1), labels = c("Ja - Brille", "Nein - Keine Brille")))

View(data1)

Balkendiagramm / Säulendiagramm

Defintion

Das Balkendiagramm, bzw. Säulendiagramm stellt die Informationen durch waagerecht, bzw. senkrecht liegende Balken dar.

Beschreibung

Balken- wie Säulendiagramme bieten sich hier gleichermaßen an: Auf einer der beiden Diagrammachsen trägst du die Merkmalsausprägungen (hier: von „optimal“ bis „erhöht“) ab, auf der anderen Achse die beobachteten Häufigkeiten. Die Länge jedes Rechtsecks entspricht der darzustellenden Häufigkeit, seine Breite ist dagegen unerheblich. Du wählst sie je nach Geschmack aus. Ein Säulendiagramm mit sehr dünnen Säulen nennt man auch Stabdiagramm.

Das Balkendiagramm bzw. Säulendiagramm ist eines der häufigsten Diagrammtypen. Mit einem Balkendiagramm tragt ihr typischerweise die Häufigkeiten eines Merkmals in einer Grafik horizontal, mit einem Säulendiagramm vertikal auf.

Voraussetzung

✓ Balken- und Säulendiagramme eignen sich für kategoriale Variablen (nominal- oder ordinalskaliert).

Gestaltung

  • Farbe
  • Beschriftung

Code

Säulendiagramm - Base

counts <- table(data$name) # Die Ausprägungen werden gezählt
barplot(counts, #Infos
        main = "Säulendiagramm", #Überschrift 
        xlab ="Haarfarben",  # x-Achse
        ylab = "Anzahl", # Y-Achse
        col = c("yellow","brown", "green", "red","black") # Farben 
        )

counts <- table(data$name) # Die Ausprägungen werden gezählt
barplot(counts, #Infos
        main = "Balkendiagramm", #Überschrift 
        xlab ="Haarfarben",  # x-Achse
        ylab = "Anzahl", # Y-Achse
        col = c("yellow","brown", "green", "red","black"), # Farben 
        horiz=TRUE, #Drehen
        las =1 # Bezeichnung drehen
        )

barplot(counts , density=c(5,10,20,30,7) , angle=c(0,45,90,11,36) , col="brown"   )

Brille <- table(data1$geschlecht,data1$brille)
Brille
           
            Ja - Brille Nein - Keine Brille
  männlich           13                   7
  weilblich          15                  10
barplot(Brille,
        beside = TRUE,
        col = c("red", "blue")
        )

ggplot

Säulendiagramm

library(ggplot2)
ggplot(data, aes(x=name)) +
  
  geom_bar(color= c("yellow","brown", "green", "red","black"),
           fill= c("lightskyblue1", "lightskyblue2",   
                   "lightskyblue4","lightskyblue3",
                   "lightskyblue1"))

Balkendiagramm


library(ggplot2)
ggplot(data, aes(x=name)) + # Daten
    geom_bar(color= c("yellow","brown", "green", "red","black"),#Farbe für die Linie
           fill= c("lightskyblue1", "lightskyblue2",    
                   "lightskyblue4","lightskyblue3",
                   "lightskyblue1"))+
coord_flip() #Drehen

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQogDQpgYGB7cn0NCiMgRGF0ZW5zYXR6IEhhYXINCmRhdGEgPC0gZGF0YS5mcmFtZSgNCiAgbmFtZT1jKCByZXAoImJyYXVuaGFhcmlnIiwxNSksICANCiAgICAgICAgICByZXAoImJsb25kIiw1KSwNCiAgICAgICAgICByZXAoInJvdGhhYXJpZyIsMTApLA0KICAgICAgICAgIHJlcCgic2Nod2FyemhhYXJpZyIsMTIpLA0KICAgICAgICAgIHJlcCgiYnVudGhhYXJpZyIsNCkpDQogICkNClZpZXcoZGF0YSkNCmBgYA0KDQoNCg0KYGBge3J9DQoNCiBhPC0gc2FtcGxlKHggPSAxOjIsIHNpemUgPSA0NSwgcmVwbGFjZSA9IFRSVUUpICMgWnVmYWxsc3dlcnQgendpc2NoZW4gMSB1bmQgMiANCiMgQW5sZWdlbiBkZXMgRGF0ZW5zYXR6ZXMgIA0KZGF0YTEgPC0gZGF0YS5mcmFtZSgNCiAgZ2VzY2hsZWNodD1jKCByZXAoIm3DpG5ubGljaCIsMjApLCAgDQogICAgICAgICAgIHJlcCgid2VpbGJsaWNoIiwyNSkpLA0KICBicmlsbGUgPSBhDQogICkNCiNVbWJlbmVubmVuIGRlcyBNZXJrbWFscyBCcmlsbGUgDQpkYXRhMSA8LSBkYXRhMSAlPiUNCiAgbXV0YXRlKGJyaWxsZSAgID0gZmFjdG9yKGJyaWxsZSwgbGV2ZWxzID0gYygyLCAxKSwgbGFiZWxzID0gYygiSmEgLSBCcmlsbGUiLCAiTmVpbiAtIEtlaW5lIEJyaWxsZSIpKSkNCg0KVmlldyhkYXRhMSkNCmBgYA0KDQoNCg0KIyBCYWxrZW5kaWFncmFtbSAvIFPDpHVsZW5kaWFncmFtbQ0KIA0KIyMgRGVmaW50aW9uDQoNCkRhcyBCYWxrZW5kaWFncmFtbSwgYnp3LiBTw6R1bGVuZGlhZ3JhbW0gc3RlbGx0IGRpZSBJbmZvcm1hdGlvbmVuIGR1cmNoIHdhYWdlcmVjaHQsIGJ6dy4gc2Vua3JlY2h0IGxpZWdlbmRlIEJhbGtlbiBkYXIuDQogDQogDQoNCiMjIEJlc2NocmVpYnVuZyANCkJhbGtlbi0gd2llIFPDpHVsZW5kaWFncmFtbWUgYmlldGVuIHNpY2ggaGllciBnbGVpY2hlcm1hw59lbiBhbjogQXVmIGVpbmVyIGRlciBiZWlkZW4gRGlhZ3JhbW1hY2hzZW4gdHLDpGdzdCBkdSBkaWUgTWVya21hbHNhdXNwcsOkZ3VuZ2VuIChoaWVyOiB2b24g4oCeb3B0aW1hbOKAnCBiaXMg4oCeZXJow7ZodOKAnCkgYWIsIGF1ZiBkZXIgYW5kZXJlbiBBY2hzZSBkaWUgYmVvYmFjaHRldGVuIEjDpHVmaWdrZWl0ZW4uIERpZSBMw6RuZ2UgamVkZXMgUmVjaHRzZWNrcyBlbnRzcHJpY2h0IGRlciBkYXJ6dXN0ZWxsZW5kZW4gSMOkdWZpZ2tlaXQsIHNlaW5lIEJyZWl0ZSBpc3QgZGFnZWdlbiB1bmVyaGVibGljaC4gRHUgd8OkaGxzdCBzaWUgamUgbmFjaCBHZXNjaG1hY2sgYXVzLiBFaW4gU8OkdWxlbmRpYWdyYW1tIG1pdCBzZWhyIGTDvG5uZW4gU8OkdWxlbiBuZW5udCBtYW4gYXVjaCBTdGFiZGlhZ3JhbW0uDQoNCkRhcyBCYWxrZW5kaWFncmFtbSBiencuIFPDpHVsZW5kaWFncmFtbSBpc3QgZWluZXMgZGVyIGjDpHVmaWdzdGVuIERpYWdyYW1tdHlwZW4uIE1pdCBlaW5lbSBCYWxrZW5kaWFncmFtbSB0cmFndCBpaHIgdHlwaXNjaGVyd2Vpc2UgZGllIEjDpHVmaWdrZWl0ZW4gZWluZXMgTWVya21hbHMgaW4gZWluZXIgR3JhZmlrIGhvcml6b250YWwsIG1pdCBlaW5lbSBTw6R1bGVuZGlhZ3JhbW0gdmVydGlrYWwgYXVmLg0KDQojIyBWb3JhdXNzZXR6dW5nDQogDQrinJMgQmFsa2VuLSB1bmQgU8OkdWxlbmRpYWdyYW1tZSBlaWduZW4gc2ljaCBmw7xyIGthdGVnb3JpYWxlIFZhcmlhYmxlbiAobm9taW5hbC0gb2RlciBvcmRpbmFsc2thbGllcnQpLg0KIA0KIyMgR2VzdGFsdHVuZyANCg0KKyBGYXJiZSANCisgQmVzY2hyaWZ0dW5nDQoNCiANCiMgQ29kZQ0KIyMgU8OkdWxlbmRpYWdyYW1tIC0gQmFzZQ0KYGBge3J9DQpjb3VudHMgPC0gdGFibGUoZGF0YSRuYW1lKSAjIERpZSBBdXNwcsOkZ3VuZ2VuIHdlcmRlbiBnZXrDpGhsdA0KYmFycGxvdChjb3VudHMsICNJbmZvcw0KICAgICAgICBtYWluID0gIlPDpHVsZW5kaWFncmFtbSIsICPDnGJlcnNjaHJpZnQgDQogICAgICAgIHhsYWIgPSJIYWFyZmFyYmVuIiwgICMgeC1BY2hzZQ0KICAgICAgICB5bGFiID0gIkFuemFobCIsICMgWS1BY2hzZQ0KICAgICAgICBjb2wgPSBjKCJ5ZWxsb3ciLCJicm93biIsICJncmVlbiIsICJyZWQiLCJibGFjayIpICMgRmFyYmVuIA0KICAgICAgICApDQpgYGANCg0KYGBge3J9DQpjb3VudHMgPC0gdGFibGUoZGF0YSRuYW1lKSAjIERpZSBBdXNwcsOkZ3VuZ2VuIHdlcmRlbiBnZXrDpGhsdA0KYmFycGxvdChjb3VudHMsICNJbmZvcw0KICAgICAgICBtYWluID0gIkJhbGtlbmRpYWdyYW1tIiwgI8OcYmVyc2NocmlmdCANCiAgICAgICAgeGxhYiA9IkhhYXJmYXJiZW4iLCAgIyB4LUFjaHNlDQogICAgICAgIHlsYWIgPSAiQW56YWhsIiwgIyBZLUFjaHNlDQogICAgICAgIGNvbCA9IGMoInllbGxvdyIsImJyb3duIiwgImdyZWVuIiwgInJlZCIsImJsYWNrIiksICMgRmFyYmVuIA0KICAgICAgICBob3Jpej1UUlVFLCAjRHJlaGVuDQogICAgICAgIGxhcyA9MSAjIEJlemVpY2hudW5nIGRyZWhlbg0KICAgICAgICApDQpgYGANCg0KDQpgYGB7cn0NCmJhcnBsb3QoY291bnRzICwgZGVuc2l0eT1jKDUsMTAsMjAsMzAsNykgLCBhbmdsZT1jKDAsNDUsOTAsMTEsMzYpICwgY29sPSJicm93biIgICApDQpgYGANCg0KDQoNCg0KDQoNCmBgYHtyfQ0KQnJpbGxlIDwtIHRhYmxlKGRhdGExJGdlc2NobGVjaHQsZGF0YTEkYnJpbGxlKQ0KQnJpbGxlDQoNCmJhcnBsb3QoQnJpbGxlLA0KICAgICAgICBiZXNpZGUgPSBUUlVFLA0KICAgICAgICBjb2wgPSBjKCJyZWQiLCAiYmx1ZSIpDQogICAgICAgICkNCmBgYA0KDQoNCg0KIyMgZ2dwbG90DQoNCiMjIyBTw6R1bGVuZGlhZ3JhbW0NCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KZ2dwbG90KGRhdGEsIGFlcyh4PW5hbWUpKSArDQogIA0KICBnZW9tX2Jhcihjb2xvcj0gYygieWVsbG93IiwiYnJvd24iLCAiZ3JlZW4iLCAicmVkIiwiYmxhY2siKSwNCiAgICAgICAgICAgZmlsbD0gYygibGlnaHRza3libHVlMSIsICJsaWdodHNreWJsdWUyIiwgICANCiAgICAgICAgICAgICAgICAgICAibGlnaHRza3libHVlNCIsImxpZ2h0c2t5Ymx1ZTMiLA0KICAgICAgICAgICAgICAgICAgICJsaWdodHNreWJsdWUxIikpDQpgYGANCiMjIyBCYWxrZW5kaWFncmFtbQ0KYGBge3J9DQoNCmxpYnJhcnkoZ2dwbG90MikNCmdncGxvdChkYXRhLCBhZXMoeD1uYW1lKSkgKyAjIERhdGVuDQogICAgZ2VvbV9iYXIoY29sb3I9IGMoInllbGxvdyIsImJyb3duIiwgImdyZWVuIiwgInJlZCIsImJsYWNrIiksI0ZhcmJlIGbDvHIgZGllIExpbmllDQogICAgICAgICAgIGZpbGw9IGMoImxpZ2h0c2t5Ymx1ZTEiLCAibGlnaHRza3libHVlMiIsICAgIA0KICAgICAgICAgICAgICAgICAgICJsaWdodHNreWJsdWU0IiwibGlnaHRza3libHVlMyIsDQogICAgICAgICAgICAgICAgICAgImxpZ2h0c2t5Ymx1ZTEiKSkrDQpjb29yZF9mbGlwKCkgI0RyZWhlbg0KYGBgDQoNCg0K