chart_Series(s,TA="-6ren">
gpt4 book ai didi

r - 向 quantmod::chart_Series 添加垂直线

转载 作者:行者123 更新时间:2023-12-02 05:29:54 24 4
gpt4 key购买 nike

我想在某个图表上的几个日期上添加垂直线。到目前为止我还没有成功完成这个简单的任务。这是我尝试过的:

> 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

根据我在这里阅读的内容,我知道 abline 不应该与新的 chart_Series 函数一起使用。无论如何,这似乎不起作用。 addLines 函数在我尝试过的任何形式中均不起作用 - 普通 addLinesplot(addLines(...))chart_Series(..., TA="addLines(...)")add_TA("addLines(...)")

我需要使用 quantmod 的实验版本,因为它解决了我在旧版本中遇到的其他问题。 d1 最终将是一个日期列表。

最佳答案

您不能混合使用新旧版本 quantmod 图表函数的函数。如果你想使用addLines ,你必须使用chartSeries 。即使您使用 addLineschartSeries , d1应该是 xts 对象,而不是 datetime 对象。例如:

library(quantmod)
data(sample_matrix)
s <- as.xts(sample_matrix)
chartSeries(s,TA="addLines(v=s[100])")

quantmod::chartSeries

如果您想使用 chart_Series 添加垂直线,使用 TRUE 创建一个逻辑 xts 对象您希望线条出现的位置的值和 FALSE否则。例如:

l <- xts(!as.logical(s[,1]),index(s))
l[100] <- TRUE
chart_Series(s,TA="add_TA(l,on=1)")

quantmod::chart_Series

另请注意,您可以使用 on=-1 将垂直线放在图表“后面”在 add_TA调用:

chart_Series(s,TA="add_TA(l,on=-1,col='grey',border='grey')")

关于r - 向 quantmod::chart_Series 添加垂直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15384458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com