2013-07-04 41 views
5

我正在嘗試擴展我的時間序列圖的X軸,以便在稍後將新數據添加到圖中時做好準備。然而,無論我嘗試我得到的錯誤plot.window(...)中的錯誤:無效'xlim'值錯誤。在xts圖中設置xlim

下面是一個最小的代碼片段:

數據結構:

time_series <- xts(rnorm(100),seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 03:00:00"), by="hour")) 

繪圖:

plot(time_series, type='l'); 

結果是,如預期,一個漂亮的時間序列圖。現在

,我想擴大與x軸和我想:

xlim <- seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-06 03:00:00"), by="hour") 
plot <- (time_series, xlim = xlim, type='l') 

,但是這是行不通的,但在錯誤導致plot.window(...):無效「XLIM的價值

試圖在同一個錯誤的結果如下:

xlim <- c(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 00:00:00")) 

從文檔我知道XLIM必須是數字,可以設置像XLIM = C(0,100),但它是如何使用XTS時工作數據?

編輯:我知道這個問題類似於問題Time series plot range。但是,由於我不知道將來需要繪製的數據,因此我對這種特定解決方案感興趣。

+2

我不熟悉'plot.xts',但基本圖形中的xlim通常是一個只有兩個值(最小值和最大值)的向量,而不是一個序列。 – Roland

+0

我應該提到我也嘗試過一個包含mix max POSIXct值的向量。對不起,我會將此添加到我的問題中。 – user1356695

+0

一般來說,我建議使用'plot.zoo'或'xtsExtra :: plot.xts' – GSee

回答

5

像這樣:

plot(time_series, type='l', 
    xlim=as.POSIXct(c("2012-01-01 00:00:00","2012-01-06 03:00:00"))) 
+0

好吧,它絕對有效。我不確定爲什麼我確信它不會 - 抱歉。不幸的是,標籤中似乎沒有軸標籤,但這是我可以忍受的。 – user1356695

0

或者你之前做的一個子集在XTS:df2.xts < -df.xts [ 「2012-01-01/2012-02-01」],然後陰謀( df2.xts)。