Estoy trabajando con algunos datos de series de tiempo y me gustaría resaltar el área del gráfico siempre que ciertas condiciones se cumplan. Por ejemplo:ggplot2: resaltar el área del gráfico
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))
El código anterior parcelas los datos, pero ¿cómo puedo resaltar la sección estrecha, cuando cada vez está por encima de SMA? Esta pregunta es similar a How to highlight time ranges on a plot?, pero luego es manual. ¿Hay una función en ggplot2 para el trazado condicional?
La pregunta se vincula a _es_ la manera de hacer esto. ** ggplot2 ** todavía no tiene la funcionalidad para entender algo como 'geom_shade_the_region_that_I_have_in_mind_you_know_that_one()'. Tienes que decirle realmente qué región quieres sombrear. – joran
Aumentará sus posibilidades de obtener elementos no esenciales para experimentar con su código si realiza llamadas de biblioteca adecuadas para indicar qué paquetes son necesarios para ejecutar ese código. –
@joran muchas gracias por la perspicaz respuesta ~ trabajará duro para encontrar algo útil. – user1234440