2011-12-26 11 views
5

Estoy usando new chart_Series y add_TA bastante. Funciona muy bien para mí y lo encuentro muy útil.Problema con quantmod add_TA y chart_Series - las líneas y el texto desaparecen después de que se llame a add_TA

Estoy tratando de agregar algunas cosas (líneas horizontales y texto) en un gráfico. Aquí los problemas comienzan a ocurrir. Después de líneas horizontales y el texto se dibujan correctamente desaparecen si llamo posterior add_TA ... Vea el código de ejemplo siguiente, que reproduce el problema:

library(quantmod) 

getSymbols("SPY") 

dev.new() 
chart_Series(SPY) 
add_TA(ADX(HLC(SPY))$ADX) 
abline(h=15, col="red") 
abline(h=35, col="green") 
text(10, 7, "Text and horizontal lines disappear after next add_TA is called", 
    col="blue", cex=0.8, adj = c(0,0)) 
# run the code up to this point (including text(... 
# see how horizontal lines drawn with abline and text is displayed correctly 
# now run the last line by adding additional TA and you will see that lines 
# and text disappears 
add_TA(DVI(Cl(SPY))$dvi) 

¿Es este comportamiento destinado?

EDITAR: Cómo hacer que esto funcione (según Joshua comentario a continuación: volver a dibujar también la línea y el texto cuando el objeto de trazado (chob) se está volviendo a dibujar)?

Respuesta

1

Las funciones add_*** añaden información al objeto de trazado (chob) y vuelven a dibujar. abline y text no agreguen su información al objeto de trazado; simplemente dibujan en el dispositivo, por lo que sus contribuciones se pierden cuando vuelve a dibujar el objeto de trazado.

+0

Joshua, gracias. Entiendo. ¿Hay una solución para esto? Quiero decir, ¿hay funciones para agregar líneas (horizontal y vertical) que agregan al objeto de trazado (chob) para que se vuelvan a dibujar cuando se vuelve a trazar el objeto de trazado? – Samo

+0

No es que yo sepa. –

Cuestiones relacionadas