2012-01-04 7 views
9

t e tt hanno giorni comuni ma le valutazioni non sono nemmeno vicine, quindi non appaiono nella stessa trama. C'è qualche comando per regolare l'asse su 0:10 all'inizio o dopo il comando delle linee? Qualche modo automatico di farlo in modo che ogni punto appaia?Regola l'asse R nei grafici dopo il grafico (...) e le linee (...)?

t<-structure(list(as.Date.e1.V1....d..m..Y.. = structure(c(15138, 
15139, 15140, 15141, 15142, 15145, 15146, 15147, 15148, 15152, 
15152), class = "Date"), e1.V2 = c(2.26, 2.82, 2.89, 2.52, 
2.19, 2.02, 2.85, 2.99, 2.21, 2.15, 2.22)), .Names = c("as.Date.e1.V1....d..m..Y..", 
"e1.V2"), row.names = 3270:3280, class = "data.frame") 

tt<-structure(list(as.Date.e2.V1....d..m..Y.. = structure(c(15135, 
15138, 15139, 15140, 15141, 15142, 15145, 15146, 15147, 15148, 
15152), class = "Date"), e2.V2 = c(11.29, 11.15, 11.25, 
11.4, 11.68, 11.08, 9.9, 9.74, 9.46, 9.45, 9.87 
)), .Names = c("as.Date.e2.V1....d..m..Y..", "e2.V2"), row.names = 195:205, class = "data.frame") 


plot(t) 
# How to adjust here the tt so that t and tt can be seen at the same time? 
lines(tt) 

sono sicuro circa l'errore perché plottaggio opere con punti di valutazione comune:

> plot(data.frame(tt[1], log(tt[2])), type='l') 
> points(data.frame(t[1], log(t[2])+1.5)) 

enter image description here

Ora, senza -punti y comuni, non è possibile vederli nella stessa trama. Quindi come regolarlo?

risposta

8

Sulla Geek sulla risposta di acido, ecco una formulazione generale che risolve il problema dell'intervallo.

plot(t,ylim=range(t[2],tt[2])) 
lines(tt) 
1

Hmm se ho ottenuto il vostro domanda giusta, basta aggiungere ylim argomento al plot, ma che è compagno appena banale:

plot(t,ylim=c(1,15)) 
lines(tt) 

enter image description here

+1

... sì, questo è il modo di farlo inizialmente ma c'è un modo per regolarlo dopo i comandi o automaticamente? Supponiamo che io non sappia che è c (0,15), qualche bandiera per la regolazione automatica? +1 per indicare il comando. Sto cercando una soluzione generica, forse solo 'c (min (valori), max (valori))' è la via da percorrere con un vettore ... ma supponiamo di avere molti valori -vettori - diventa molto caotico o? – hhh

+2

Ok, ora capisco. Bene, puoi anche specificare la colonna facendo 'plot (t, ylim = c (0, max (tt [, 2])))' ma come hai indicato richiederà di controllare quale set di dati ha i valori più alti , quindi non è così robusto come lo vuoi ... –

+0

sì è giusto. Sto anche considerando una regolazione più accessibile. Ho appena trovato cose piuttosto interessanti, forse qualche hack con 'locator',' identifica 'o qualcosa di così conveniente - non posso ancora essere sicuro, ricercando ... è spesso utile regolare la trama con il mouse, non so se possibile (.. . Forse si chiama "zoomare" non aggiustando, pensando ad alta voce). – hhh

1

Una generalizzazione di P Lapointe's rispondere

plot(t,ylim=range(min(min(t),min(tt)),max(max(tt),max(t)))) 
lines(tt) 

nel caso in cui il secondo valore di ciascuna serie non sono abbastanza grandi/piccole.

Problemi correlati