2011-10-31 141 views
1

有没有办法让quantmod绘制方形折线图?使用quantmod绘制方形折线图

我试过修改我的时间序列,以便每个数据点在下一个数据点之前一秒钟被复制(希望这会近似一条直线),但quantmod似乎是在x轴上的数据按顺序均匀间隔而不考虑到x的实际值(即,无论Δ-T是1秒还是1分钟,下一个点之间的水平间隔是相同的)。

我想我可以将我的时间序列从稀疏转换为密集(每秒一次,而不是每次更改一次),但这看起来非常糟糕,应该是不必要的。

我建设我的时间序列这样的:

library(quantmod) 

myNumericVector <- c(3,7,2,9,4) 
myDateTimeStrings <- paste("2011-10-31", c("5:26:00", "5:26:10", "5:26:40", "5:26:50", "5:27:00")) 
myXts <- xts(myNumericVector, order.by=as.POSIXct(myDateTimeStrings)) 

并借鉴像这样的图表:

chartSeries(myXts, type="line", show.grid="true", theme=chartTheme("black")) 

为了说明我有什么与我想要的,结果看起来像蓝线之下,但我想更多的东西一样的绿色:

enter image description here

此外,对于好奇,这里是在时间序列复制点的代码,使得一个值和下一个之间的间隙尽可能小:

mySquareDateTimes <- rep(as.POSIXct(myDateTimeStrings),2)[-1] 
mySquareDateTimes[seq(2,8,by=2)] <- mySquareDateTimes[seq(2,8,by=2)] - 1 
mySquareXts <- xts(rep(myNumericVector,each=2)[-10], order.by=mySquareDateTimes) 
chartSeries(mySquareXts, type="line", show.grid="true", theme=chartTheme("black")) 

的结果不够理想。

+0

请提供一个[可重现的示例](http://stackoverflow.com/q/5963269/602276)(即我们不知道'myNumericVector'包含什么)。 –

+0

使示例具有可重现性。 –

回答

3

你想 “一步” 的line.type

chartSeries(myXts, line.type="s") 

?plot,特别是在参数部分...在 “类型”(你可能要 “S”,而不是 “S”)。