ggplot2: Kartenbereich markieren

Ich arbeite mit einigen Zeitreihendaten und möchte den Diagrammbereich hervorheben, wenn bestimmte Bedingungen zutreffen. Zum Beispiel:

require(ggplot2)
require(quantmod)
initDate <- "1993-01-31"
endDate <- "2012-08-10"
symbols <- c("SPY")
getSymbols(symbols, from=initDate, to=endDate, index.class=c("POSIXt","POSIXct"))
spy<-SPY$SPY.Adjusted
spy$sma<-SMA(spy$SPY.Adjusted,200)
spy<-spy[-(1:199),] 
spy<-as.data.frame(spy)
ggplot(spy,aes(x=index(spy),y=spy$SPY.Adjusted))+geom_line()+geom_line(aes(x=index(spy),y=spy$sma))

Der obige Code stellt die Daten dar, aber wie kann ich den Abschnitt hervorheben, wenn er sich jemals über sma befindet? Diese Frage ähneltWie hebt man Zeitbereiche auf einem Plot hervor?, aber dann ist es manuell. Gibt es in ggplot2 eine Funktion zum bedingten Zeichnen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage