如何显示R / quantmod的chartSeries / candleChart图中的间隙

时间:2011-04-01 15:13:05

标签: r quantmod

我试图在R的优秀quantmod包中使用绘图函数显示财务数据中的“差距”。

通常,R允许您使用NA值显示绘图中的间隙,如:

x<-1:10
y<-2*x
y[4:7]<-NA
plot(x,y,type="l")

我想用R / quantmod的candleChart图做类似的事情。但是,在绘图之前会删除包含NA的数据行(在chartSeries代码中有一个执行此操作的na.omit命令),所以我看不到如何执行此操作。

一个例子是:

require(quantmod)

#Make some pretend data
x<-0:30
y<-100+20*sin(x)
y.open<-y[-length(y)]
y.close<-y[-1]
val<-as.xts(cbind(y.open,y.open+5,y.close-5,y.close,1000),order.by=as.POSIXct(paste("2011-01-",x[-1],sep='')))
colnames(val)<-c("Open","High","Low","Close","Volume")

#Plot this pretend data
candleChart(val,theme="white")

#Now try and make a "gap" in the middle of the data and plot it
val2<-val
val2[5:20,]<-NA
candleChart(val2,theme="white")

这样做的“正确”方法是什么?我想我可以使用我自己的这个函数版本覆盖chartSeries(相同但没有na.omit()调用),但这看起来非常激烈。

是否有可能选择做这种事情?我一直无法谷歌任何有用的东西......

谢谢, FTTB

1 个答案:

答案 0 :(得分:7)

答案不是使用chartSeries,而是使用更新的变体(技术上还在开发中) chart_Series 。请注意下划线。

chart_Series(val2)

如果您正在寻找有关quantmod的更多详细信息以及在财务中使用R,我们将在本月底在芝加哥举办大型会议。更多信息可以在这里找到:R/Finance 2011

希望有所帮助,并希望在芝加哥见到你!