2013-07-04 16 views
5

Sto tentando di espandere l'asse X della mia trama delle serie temporali per prepararmi ad aggiungere nuovi dati nella trama in seguito. Tuttavia, qualunque cosa provi, ottengo l'errore in plot.window (...): errore 'xlim' valore non valido.R impostazione xlim in xts plot

Ecco un frammento di codice minima:

costruzione:

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

Plotting:

plot(time_series, type='l'); 

Il risultato è, come previsto, un bel grafico temporale.

Ora, ho voluto ampliare l'asse delle ascisse e ho provato:

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

, ma questo non funziona, ma i risultati in errore in plot.window (...): valore non valido 'XLIM'.

Cercando i seguenti risultati nella stesso errore:

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

Dalla documentazione so che XLIM deve essere numerico e può essere impostato come Xlim = c (0,100), ma come funziona quando si utilizza XTS dati?

Modifica: So che questa domanda è simile alla domanda Time series plot range. Tuttavia, poiché non conosco i dati che devono essere tracciati in futuro, sono interessato a questa particolare soluzione.

+2

Non ho familiarità con 'plot.xts', ma' xlim' nella grafica di base è normalmente un vettore con esattamente due valori (min e max) e non una sequenza. – Roland

+0

Avrei dovuto dire che ho anche provato un vettore che includeva i valori massimi di POSIXct. Scusa, aggiungerò questo alla mia domanda. – user1356695

+0

In generale, suggerisco di usare 'plot.zoo' o' xtsExtra :: plot.xts' – GSee

risposta

5

Ti piace questa:

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

Ok, funziona sicuramente. Non sono sicuro del motivo per cui sono stato convinto che non lo farà, mi dispiace. Sfortunatamente, l'etichetta dell'asse sembra mancare nella trama ma è qualcosa con cui posso convivere. – user1356695

0

Oppure fate un sottoinsieme in XTS prima: df2.xts < -df.xts [ "2012-01-01/2012-02-01"] e quindi plot (df2.xts).