在 quantmod 图表的背景中添加垂直线

Add vertical line in background in quantmod chart

如何在背景中出现的 quantmod 图表中添加垂直线?考虑这个例子:

library(quantmod)
symbol <- "AAPL"
cache <- new.env()
getSymbols(symbol, env=cache)
chartSeries(cache$AAPL, subset="last 3 months")
plot(addLines(v=10)) # Adds vertical line at tick 10.

问题是在价格变动 10 处添加垂直线现在隐藏了烛台上的灯芯:

我还尝试了 qmao 中的函数 addVLine。它有效地做到了这一点:

c <- quantmod:::get.current.chob()
i <- index(c@xdata[endpoints(c@xdata, "months")])
plot(addTA(xts(rep(TRUE, length(i)), i), on=-1, col="grey"))

结果如下所示:

虽然我现在在背景中有线条,但它们超宽且非常突兀。我只是希望它们以与网格线已经存在的方式相同的方式出现在背景中。我怎样才能做到这一点?

注意:这个问题类似于an existing one,但我在这里问的是如何在背景中渲染垂直线

我没有查看源代码来理解为什么会这样,但它似乎可以满足您的要求。基本上,您通过 TA 参数将 addLines 调用添加到 chartSeries。无论如何,这通常是一件好事,因为它避免了为每个 add* 调用重新绘制图表。

chartSeries(cache$AAPL, subset="last 3 months", TA="addVo();addLines(v=10,on=-1)")