2011-12-26 9 views
5

Sto usando il nuovo chart_Series e add_TA parecchio. Funziona molto bene per me e lo trovo molto utile.Problema con quantmod add_TA e chart_Series - le righe e il testo scompaiono dopo il prossimo add_TA si chiama

Sto cercando di aggiungere alcune cose (linee orizzontali e del testo) su un grafico. Qui cominciano a verificarsi problemi. Dopo le linee orizzontali e il testo sono disegnati correttamente scompaiono se chiamo successiva add_TA ... Si prega di vedere il codice di esempio sotto del quale riproduce il 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) 

È questo destinato comportamento?

MODIFICA: Come fare questo lavoro (come da commento Joshua qui sotto: ridisegnare anche la linea e il testo quando oggetto plot (chob) viene ridisegnato)?

risposta

1

Le funzioni add_*** aggiungono informazioni all'oggetto trama (chob) e ridisegnano it. abline e text non aggiungono le loro informazioni all'oggetto trama; si limitano a disegnare sul dispositivo, quindi i loro contributi vengono persi quando si rielabora l'oggetto trama.

+0

Joshua, grazie. Capisco. C'è un lavoro in giro per questo? Voglio dire, ci sono funzioni per aggiungere linee (orizzontali e verticali) che si aggiungono all'oggetto plot (chob) in modo che vengano ridisegnate quando l'oggetto plot viene ridisegnato? – Samo

+0

Non che io sappia. –