2011-12-26 10 views
5

Używam całkiem nowych chart_Series i add_TA. Działa to bardzo dobrze i uważam to za bardzo przydatne.Problem z quantmod add_TA i chart_Series - linie i tekst znikają po następnym add_TA nazywa się

Próbuję dodać kilka rzeczy (linie poziome i trochę tekstu) na wykresie. Tutaj pojawiają się problemy. Po poziome linie i tekst są rysowane poprawnie znikają jeśli zadzwonię późniejsze add_TA ... Proszę zobaczyć przykładowy kod poniżej, które reprodukuje problem:

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) 

Czy ten przeznaczony zachowanie?

EDYCJA: Jak to działa (zgodnie z komentarzem Joshua poniżej: przerysowanie linii i tekstu, gdy obiekt wykresu (chob) jest przerysowywany)?

Odpowiedz

1

Funkcje dodać informacje do obiektu działki (chob) i ponownie rysować go. abline i text nie dodawaj ich informacji do obiektu działki; oni po prostu rysują na urządzeniu, więc ich składki zostają utracone, gdy ponownie rysuje obiekt fabuły.

+0

Joshua, dziękuję. Rozumiem. Czy jest do tego jakieś zadanie? Mam na myśli, czy istnieją funkcje dodawania linii (poziomej i pionowej), które dodają do obiektu fabuły (chob), aby były one przerysowane, gdy obiekt wykresu zostanie przerysowany? – Samo

+0

Nie o tym wiem. –