2011-10-31 178 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」)。