R Säulendiagramme
# 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
barplot(b.t, col='grey')
# colors() zeigt alle verfügbaren Farbnamen an (über 650)
# 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, dass ü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)
# 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='Spass haben bringts', ylab='Prozentualer Anteil', names=c('vor','nach'))