2012-01-04 3 views
9

t i tt mają wspólne dni, ale wyceny nie są nawet blisko, więc nie pojawiają się na tej samej działce. Czy jest jakieś polecenie dostosowania osi do 0:10 na początku lub po poleceniu linii? Jakiś automatyczny sposób zrobienia tego, aby pojawił się każdy punkt?Dopasuj oś R na wykresach po wykresie (...) i liniach (...)?

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) 

jestem pewien o pomyłkę, ponieważ współpracuje z kreślenia wspólnych punktów wyceny:

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

enter image description here

Teraz bez wspólnych y punktu procentowego, nie można zobaczyć je w tej samej działce. Jak to zmienić?

Odpowiedz

8

Opierając się na Geek na odpowiedź kwas jest, tutaj ogólne sformułowanie, które rozwiązuje problem zasięgu.

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

Hmm jeśli mam swoją właściwe pytanie, wystarczy dodać ylim argument plot, ale to jest po prostu trywialne kolega:

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

enter image description here

+1

... tak, to jest sposób, aby to zrobić na początku, ale czy jest jakiś sposób, aby dostosować go po polecenia lub automatycznie? Załóżmy, że nie wiem, że jest to c (0,15), jakaś flaga służy do automatycznej regulacji? +1 za wskazanie polecenia. Szukam jakiegoś ogólnego rozwiązania, być może po prostu 'c (min (wartości), max (wartości))' jest sposobem na przejście z jednym wektorem ... ale przypuśćmy, że mam wiele wartości-wektorów - staje się bardzo niechlujny wkrótce lub? – hhh

+2

Ok, teraz widzę. Cóż, możesz również określić kolumnę, wykonując 'plot (t, ylim = c (0, max (tt [, 2]))), ale jak zauważyłeś, będzie to wymagało sprawdzenia, który zestaw danych ma najwyższe wartości , więc nie jest tak solidny, jak tego chcesz ... –

+0

tak, to prawda. Rozważam również bardziej dostępne dostosowanie. Znalazłem całkiem ciekawe rzeczy, być może jakiś hack z 'lokalizatorem',' utożsamiam' lub coś tak wygodnego - nie może być jeszcze pewny, badając ... często jest użyteczne, aby dopasować fabułę za pomocą myszki, nie wiem, czy to możliwe (.. .prawdopodobnie nazywa się to "powiększaniem", a nie dostosowywaniem, myśleniem na głos). – hhh

1

Uogólnienie na P Lapointe's odpowiedzieć

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

tylko w przypadku, gdy druga wartość każdej serii nie są wystarczająco duże/małe.