2013-07-04 54 views
5

Tôi đang cố gắng mở rộng trục X của ô chuỗi thời gian của tôi để chuẩn bị cho việc thêm dữ liệu mới vào ô sau này. Tuy nhiên, bất cứ điều gì tôi cố gắng tôi nhận được Lỗi trong plot.window (...): không hợp lệ 'xlim' giá trị lỗi.R thiết lập xlim trong xts lô

Đây là một đoạn mã tối thiểu:

xây dựng dữ liệu:

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

Vẽ:

plot(time_series, type='l'); 

Kết quả là, như mong đợi, một chuỗi thời gian cốt truyện tốt đẹp.

Bây giờ, tôi muốn mở rộng các trục x và tôi đã cố gắng:

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') 

nhưng điều này không làm việc nhưng kết quả trong Lỗi trong plot.window (...): 'xlim' giá trị không hợp lệ.

Cố gắng kết quả như sau trong những lỗi tương tự:

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

Từ các tài liệu Tôi biết rằng xlim có phải là số và có thể được thiết lập như xlim = c (0100) nhưng làm thế nào nó hoạt động khi sử dụng XTS dữ liệu?

Chỉnh sửa: Tôi biết rằng câu hỏi này tương tự như câu hỏi Time series plot range. Tuy nhiên, vì tôi không biết dữ liệu cần được vẽ trong tương lai, tôi quan tâm đến giải pháp cụ thể này.

+2

Tôi không quen với 'plot.xts', nhưng' xlim' trong đồ họa cơ sở thường là một vectơ với chính xác hai giá trị (min và max) và không phải là một chuỗi. – Roland

+0

Tôi nên đề cập rằng tôi cũng đã thử một vectơ bao gồm các giá trị POSIXct trộn tối đa. Xin lỗi, tôi sẽ thêm điều này vào câu hỏi của tôi. – user1356695

+0

Nói chung, tôi đề nghị sử dụng 'plot.zoo' hoặc' xtsExtra :: plot.xts' – GSee

Trả lời

5

Như thế này:

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

Được rồi, nó chắc chắn hoạt động. Tôi không chắc tại sao tôi bị thuyết phục rằng nó sẽ không - xin lỗi. Thật không may, nhãn trục dường như bị thiếu trong cốt truyện nhưng đó là điều tôi có thể sống cùng. – user1356695

0

Hoặc bạn thực hiện một tập hợp con trong XTS trước: df2.xts < -df.xts [ "2012/01/01/2012/02/01"] và Sau đó, cốt truyện (df2.xts).

Các vấn đề liên quan