Seite 1 von 1

Einfügen der Standardabweichung als schattierte Ebene in Plots

Verfasst: Fr Nov 06, 2020 11:21 am
von Liesel93
Hallo ihr lieben,

ich habe eine wahrscheinlich sehr simple Frage.

Und zwar arbeite ich mit langzeitmessreihen und habe durchschnittliche Tagesgänge erstellt. Habe mit dem plot-Befehl Grafen erstellt und würde nun gerne noch die Standardabweichung als shaded area hinzufügen?

Vielen Dank schonmal für jegliche Hilfe

Lisa

Re: Einfügen der Standardabweichung als schattierte Ebene in Plots

Verfasst: Fr Nov 06, 2020 2:41 pm
von bigben
Liebe Lisa,

zunächst gilt als Daumenregel: je ausgefeilter Deine Grafikvorstellungen sind, umso eher lohnt es sich, ins Grafiksystem ggplot2 zu wechseln. Das heißt natürlich nicht, dass man nicht auch sehr viel mit base graphics machen kann. Die Frage ist mehr, wieviel willst Du in Sachen Grafik noch? Brauchen wir nur eine shaded area für diese Linie? Alles klar. Kann man mit dem Befehl polygon() machen:

Code: Alles auswählen

bsp <- data.frame( time = seq(0,90, 10),
                   mean = c(10, 20, 30, 40, 45, 47, 50, 63, 65, 61),
                   ymin = c( 6, 16, 25, 32, 33, 39, 42, 50, 55, 52),
                   ymax = c(19, 28, 42, 46, 50, 57, 60, 73, 74, 71))

plot(mean ~ time, data = bsp, ylim = c(0,75), ylab ="value")
polygon(c(bsp$ymin, rev(bsp$ymax)) ~ c(bsp$time, rev(bsp$time)), col ="lightgrey", border = NA)
abline(h = seq(0,70,10), lty = 2, col = "grey")
lines(mean ~ time, data = bsp, lwd = 2.5, type ="b", col = "firebrick")
axis(4)
Bist Du ein Grafikgourmet? Bist Du kleinlich in Details? Dann vielleicht lieber gleich daneben auch ggplot2 lernen.

Code: Alles auswählen

library(ggplot2)
ggplot(bsp, aes(x = time)) +
  geom_ribbon(aes(ymin = ymin, ymax = ymax), fill = "black", alpha = .2) +
  geom_line(aes(y = mean), lwd = 1.5, color = "firebrick") +
  geom_point(aes(y = mean), size = 4) +
  scale_x_continuous(breaks=seq(0,80,20)) +
  ylab("value") 
Ansonsten ist man in R jahrzehntelang auch mit dem alten System klargekommen.

LG,
Bernhard