r - Add vertical lines to quantmod::chart_Series -


i want add vertical lines on several dates on graph. far haven't managed achieve simple task. tried:

> s <- get(getsymbols('nvmi'))["2012::"] > d1 <- index(s[100]) > d1 [1] "2012-05-24"  > chart_series(s,ta="addlines(v=d1)") error in get.current.chob() : improperly set or missing graphics device  > chart_series(s) > abline(v=d1)  # nothing  > add_ta("addlines(v=d1") error in `[.data.frame`(lenv$xdata, env$xsubset) :    undefined columns selected 

from have read here, know abline not supposed work new chart_series function. doesn't seem work anyway. addlines function not work in of forms tried - plain addlines, plot(addlines(...)), chart_series(..., ta="addlines(...)") or add_ta("addlines(...)").

i need use experimental version of quantmod because solved other problems had old version. d1 list of dates.

you can't mix functions old , new versions of quantmod's charting functions. if want use addlines, have use chartseries. if use addlines , chartseries, d1 should xts object, not datetime object. example:

library(quantmod) data(sample_matrix) s <- as.xts(sample_matrix) chartseries(s,ta="addlines(v=s[100])") 

quantmod::chartseries

if want add vertical line using chart_series, create logical xts object true values want lines appear , false otherwise. example:

l <- xts(!as.logical(s[,1]),index(s)) l[100] <- true chart_series(s,ta="add_ta(l,on=1)") 

quantmod::chart_series

also note can put vertical line "behind" chart using on=-1 in add_ta call:

chart_series(s,ta="add_ta(l,on=-1,col='grey',border='grey')") 

Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -