2010-08-10 7 views
1

지난 몇 주 동안 ggplot을 배웠습니다. 일반적으로, 나는 일을 끝내고있다. (천천히 그러나) 나는 지금 붙어있다. (숫자가 중복 0-70에서 이동 좋은, 특히 비늘을 보이지 않는 Y-규모 번호 : http://dl.dropbox.com/u/7752237/example_bad_y_scales.pdf패싯에서 y- 스케일이 겹치다 (scale = "free")

패 시팅은

pl <- pl + facet_wrap(~sci_name,ncol=1,scale="free") 

하여 문제를 수행 : 나는 다음과 같은 각면 플롯을 생성). 어떻게 든 y 스케일의 나누기 횟수를 변경하고 싶습니다. (단 1 ~ 2 회 나누기). 아무도 어쩌면 그렇게하는 법을 알고 있을까요? 어떤 도움이라도 대단히 감사 할 것입니다. :)

추신 : 나는 특정 문제를 해결하는 데별로 도움이되지 않을 것이므로 최소한의 예는 포함하지 않았습니다. Kohskes 응답 후

편집 :

안녕 Kohske는 와우, 덕분에 정말 빠른 대답이었다! 그러나, 나는 그것이 facetted 구획과 잘 작동하지 않는다고 생각합니다. 의 y 규모에

p <- ggplot(mtcars, aes(wt, mpg)) 
p <- p + geom_point() 
p <- p + facet_wrap(~gear,ncol=1,scale="free") 

봐, 그것은 중간 플롯 3 휴식 및 하부 플롯 8 휴식을 ... 아주 일치하지 (그러나 적어도 내 예제와 같이 중복) 제공합니다.

p2 <- p + scale_y_continuous(breaks=c(15,30),minor_breaks=c(10,20,25)) 

두 가지 큰 틱이 중간 및 위쪽 플롯에 있습니다. mtcars보다 큰 차이가있는 눈금이있는 경우 결과가 훨씬 만족스럽지 않습니다. 다른 아이디어? ;) Kohskes 편집 후

편집 :

안녕, 나는 이것을 구현하는 방법을 볼 수 없습니다. google에서 ggplot과 input_break를 검색하면 10 개의 결과 만 나타 났지만 아무도 도움을받지 못했습니다. 제가 (N = 1, 3, 15 시도) I 그래프에서 어떤 효과를 볼 수 있지만

p <- ggplot(mtcars, aes(wt, mpg)) 
p <- p + geom_point() 
p <- p + facet_wrap(~gear,ncol=1,scale="free") 
p$input_breaks<-function(., range) { 
    pretty(range, n=3) 
} 
print(p) 

시도. mtcars 예제에서 이것을 구현하는 방법을 설명해 주시겠습니까? 감사!

+0

안녕하세요 저는 제 대답을 편집했습니다. – kohske

+0

안녕 내 대답을 다시 편집했습니다. – kohske

답변

3

페이지 < - ggplot (mtcars, AES (중량, MPG)) 페이지 < - P + geom_point는()

dev.new(height=1) 
print(p) 
dev.new(height=1) 
p <- p + scale_y_continuous(breaks=c(15,30),minor_breaks=c(10,20,25)) 
print(p) 

트릭은 scale_y_continuous 그리고 당신은 그 안에 휴식과 약간의 휴식 시간을 지정할 수 있습니다.

편집 :

아마 각면에 대해 개별적으로 휴식을 지정할 수 없습니다. 를 "N = 3"귀여움 수율 다른 변화

Trans$input_breaks<-function(., range) { 
    pretty(range, n=3) 
} 
print(p) 

: 하나의 해결 방법에 의해 파손의 귀여움을 제어하는 ​​것이다.

다시 편집 :

여기

은 전체 예제입니다 :이 경우

library(ggplot2) 
p <- ggplot(mtcars, aes(wt, mpg))+geom_point() 
Trans$input_breaks<-function(., range) { 
    pretty(range, n=100) 
} 
print(p) 

, 아마 당신이 틱 백을 볼 수 있습니다. 을 n = 100으로 변경하여 맞춤 설정할 수 있습니다.

참고 : 부작용이 있습니다. 그 이후의 모든 플롯은 똑같은 틱 수를 가지며, x와 y 축은 동일한 틱 수를 갖습니다.

+0

안녕하세요, 제 질문을 편집했습니다. – donodarazao

+0

우수! 이제는 잘 작동하고, 간격은 파셋 된 플롯에서 훨씬 덜 복잡합니다. 그리고 x 축의 시간은 전혀 영향을받지 않습니다. 대단히 감사합니다! – donodarazao

+0

좋습니다. x 축의 시간이 영향을받지 않는 이유는 날짜, 시간 등의 척도가 나누기에 대한 계산이 다르다는 것입니다. 아마 지속적인 규모 만 영향을받을 것입니다. – kohske