Проблема с QuantMod add_TA и chart_Series - строки и текст исчезают после вызова следующего add_TA - PullRequest
5 голосов
/ 27 декабря 2011

Я использую новые chart_Series и add_TA довольно часто.Это работает очень хорошо для меня, и я нахожу это очень полезным.

Я пытаюсь добавить несколько вещей (горизонтальные линии и текст) на график.Здесь проблемы начинают возникать.После того, как горизонтальные линии и текст нарисованы правильно, они исчезают, если я вызываю последующие add_TA ... Пожалуйста, посмотрите пример кода ниже, который воспроизводит проблему:

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)

Это предполагаемое поведение?

РЕДАКТИРОВАТЬ: Как сделать эту работу (в соответствии с комментарием Джошуа ниже: перерисовывать также строки и текст, когда перерисовывается объект графика (chob))?

1 Ответ

1 голос
/ 27 декабря 2011

Функции add_*** добавляют информацию к объекту графика (chob) и перерисовывают it.abline и text не добавляют свою информацию в объект сюжета;они просто рисуют на устройстве, поэтому их вклад теряется, когда вы перерисовываете объект сюжета.

...