Rmd

Bunte Balken

Datenidee: Befinden, T-Werte (Interventions-, Kontrollgruppe, t=Messzeitpunkte)

b.t <- c(38, 27, 34, 37, 50, 55, 57, 54, 60)
b.w <- c(40, 38, 41, 40, 37, 32, 33, 35, 33)
t   <- c( 1,  2,  3,  7, 11, 15, 19, 50, 90)

# Einfach nur bunte Balken
barplot(b.t)

Farbliche Festlegung eine Farbe

colors() zeigt alle verfügbaren Farbnamen an (über 650)

barplot(b.t, col='grey')

Fülleffekte

Werden erreicht durch shading lines die eine Dichte und eine Richtung haben. Werden solange aneinandergehängt bis die Anzahl der Säulen erreicht ist.

barplot(b.t, col='white', density=c(2,8),angle=c(45,180))

Farben der Säulen explizit einzeln festlegen

barplot(c(50,70,100,80,60),col=c('white','green','red','green','white'))

Farbliche Festlegung, die ersten drei schwarz, dann grau

barplot(b.t, col=c(rep('black',3), rep('grey',6)))

Bars beschriften

dd <- c(100,110,90,105,95)
barplot(dd,names.arg=c('normal','viel','nichts','gut','wenig'))

Y-Achse in auf bestimmte Ausmaße festlegen

xpd=F verhindert, daß über die Achse hinausgezeichnet wird

dd <- c(100,110,90,105,95)
barplot(dd, ylim = c(80,120),xpd=FALSE)

Streuungsinformationen hinzufügen zu Barplots z. B. ein T-Test

Prinzip: Pfeile hinzufügen mit 90-Grad Spitze

mw <- c(100,110)
se <- c(5,7)
xx <- barplot(mw, 
  ylim=c(80,120),              # y-Achsenausdehnung festlegen
  xpd=F,                       # Grafik darf nicht über Achsen weggehen
  col='grey',                  # Farbe festlegen
  names.arg=c('vor','nach'),   # Säulen beschriften
  main='Trainingseffekt',      # Titel hinzufügen
  xlab='Messzeitpunkt',        # x-Achsen Label
  ylab='IQ-Punkte 100±10'      # y-Achsen Label
)
# in xx werden die x-Koordinaten gespeichert
# xpd=F verhindert, daß Säulen unter die x-Achse 'sinken'
arrows(xx[1],mw[1],xx[1],mw[1] + se[1], angle=90)
arrows(xx[1],mw[1],xx[1],mw[1] - se[1], angle=90)
arrows(xx[2],mw[2],xx[2],mw[2] + se[2], angle=90)
arrows(xx[2],mw[2],xx[2],mw[2] - se[2], angle=90)

Mit Hilfe einer Funktion

Um den Umgang zu erleichtern als Funktion

t.bild <- function(mw, se, main='', col=c('white','white'), ylab='', xlab='', names=c('','')){
  xx <- barplot(mw,
    max.y <- round((max(mw) + max(se)) * 1.10),
    ylim=c(0,max.y),             # y-Achsenausdehnung festlegen
    xpd=F,                       # Grafik darf nicht über Achsen weggehen
    col=col,                     # Farbe festlegen
    names.arg=names,             # Säulen beschriften
    main=main,                   # Titel hinzufügen
    xlab=xlab,                   # x-Achsen Label
    ylab=ylab                    # y-Achsen Label
  )
  arrows(xx[1],mw[1],xx[1],mw[1] + se[1], angle=90)
  arrows(xx[1],mw[1],xx[1],mw[1] - se[1], angle=90)
  arrows(xx[2],mw[2],xx[2],mw[2] + se[2], angle=90)
  arrows(xx[2],mw[2],xx[2],mw[2] - se[2], angle=90)
}
# und aufrufen
t.bild(c(20,25), c(3,4))

t.bild(c(20,25), c(3,4), col=c('grey', 'blue'), main='Zweite Studie', xlab="Spaß haben bringt's", ylab='Prozentualer Anteil', names=c('vor','nach'))

Version: 22 April, 2021 07:40