控制addLines

时间:2016-08-05 07:40:18

标签: r charts quantmod

我有一个用于图表的xts对象(NCGSpot),并希望在给定日期添加一条垂直线到图中。这是我的工作:

chartSeries(NCGSpot, TA="addBBands();addLines()", subset="2015-04-02::2016-08-01",theme="white")

如何控制绘制线条的位置。我见过像

这样的东西
addLines(v=anynumber) 

但我无法理解它,也无法找到任何相关信息。 它有什么方法可以将日期传递给addLines并在该日期获得该行?

提前谢谢

1 个答案:

答案 0 :(得分:1)

如果您使用chart_Series,(比chartSeries更好的图表功能),您可以使用包含矩阵类型逻辑的xts对象从头开始创建垂直线,其中TRUE适用于垂直线的日期是理想的。如果您想要主图表上的垂直线,则参数on应设置为1或-1。设置-1将把线条放在蜡烛后面。其他有用的参数包括col和border(应该是自解释的)。这是一个让你入门的例子:

library(quantmod)

getSymbols("AAPL")

xt <- xts(rep(FALSE, NROW(AAPL)), index(AAPL))
dates_for_vertical_marks <- c("2016-02-01", "2016-04-29")
xt[dates_for_vertical_marks, ] <- TRUE

xt2 <- xts(rep(FALSE, NROW(AAPL)), index(AAPL))
dates_for_vertical_marks <- c("2016-07-01")
xt2[dates_for_vertical_marks, ] <- TRUE


chart_Series(AAPL, subset="2016")
add_TA(xt, on =-1, col= "orange", border='blue')
add_TA(xt2, on = 1, col= "darkgreen", border='darkgreen')

vert lines