Mit geom_rect für Zeitreihen Schattierung in R

Ich bin versucht zu schattieren, einen bestimmten Abschnitt einer Zeitreihe plot (ein bisschen wie in der Rezession-shading - ähnlich wie die Grafik unten dieser Artikel auf Rezession Schattierung in excel). Ich habe ein kleines, vielleicht ungeschickt, Beispiel zu illustrieren.
Ich erstelle zuerst eine Zeit-Serie, zeichnen Sie es mit ggplot2 und dann verwenden möchten geom_rect um die Schattierung. Aber ich muss etwas falsch in der Argumentation.

a<-rnorm(300)
a_ts<-ts(a, start=c(1910, 1), frequency=12)
a_time<-time(a_ts)
a_series<-ts.union(big=a_ts, month=a_time)
a_series_df<-as.data.frame(a_series)
ggplot(a_series)+
  geom_line(mapping=aes_string(x="month", y="big"))+
  geom_rect(
    fill="red",alpha=0.5, 
    mapping=aes_string(x="month", y="big"), 
    xmin=as.numeric(as.Date(c("1924-01-01"))),
    xmax=as.numeric(as.Date(c("1928-12-31"))),
    ymin=0,
    ymax=2
    )

Beachten Sie, dass habe ich auch schon versucht, das hat auch nicht funktioniert.

geom_rect(
        fill="red",alpha=0.5, 
        mapping=aes_string(x="month", y="big"), 
        aes(
           xmin=as.numeric(as.Date(c("1924-01-01"))),
           xmax=as.numeric(as.Date(c("1928-12-31"))),
           ymin=0,
           ymax=2)
        )

Mit geom_rect für Zeitreihen Schattierung in R

InformationsquelleAutor toksing | 2015-04-15

Schreibe einen Kommentar