2012-02-10 2 views
19

나는 측정 값이 1e6에서 1e8 사이의 모든 정수 : 한 달에 웹 사이트 조회수가되는 데이터의 시계열을 가지고 있습니다. ggplot2를 사용하여 이러한 점과 선을 차트로 표시하지만 측정을 로그 눈금에 매핑하고 싶습니다. 이런 식으로 :로그 스케일을 사용할 때 어떻게 ggplot2에서 축 범위를 설정할 수 있습니까?

qplot(month, hits, data=hits.per.month, log="y") 

이렇게하면 ggplot이 1e6에서 1e8까지의 비율로 설정됩니다. 0에서 1e8까지 확장 할 수 있습니다. 이 일의 자연적인 방법이 더 출력에 영향이없는 것으로 보인다

qplot(month, hits, data=hits.per.month, log="y", ylim=c(0, 100000000)) 

나는 그것이 qplot에 도달하기 전에 안타를 변환하여 원하는 사진을 얻을 수 있지만, 그 축에 레이블을 변경합니다

qplot(month, log10(hits), data=hits.per.month, log="y", ylim=c(0, 8)) 

scale_y_log10과 여러 가지 조합을 시도했지만 운이 없었습니다.

그래서 ggplot2에서 로그 스케일을 사용할 때 어떻게 Y 축 범위를 설정합니까?

답변

25

ggplot2의 상당 부분은 qplot을 사용하지 않으면 간단히 알려줍니다. 그 방법은 하나의 함수 호출로 모든 것을 밀어 넣는되지 않습니다

df <- data.frame(x = 1:10, 
       y = seq(1e6,1e8,length.out = 10)) 

ggplot(data = df,aes(x = x, y =y)) + 
    geom_point() + 
    scale_y_log10(limits = c(1,1e8)) 

enter image description here

내가 로그 스케일에 있기 때문에, 정말 0의 바깥 축 최소를 의미하지 않았다 당신을 가정거야 그 , 음, 문제가있어.

+5

+1 동의 해, qplot()의 걸림돌을 결코 얻지 못했습니다. –

+0

고마워요. 그것은 나를 위해 일합니다. 나는 그것이 효과가 있었음을 이해했으면 좋겠지 만'qplot '버전은 그렇지 않다. – jml

+7

y 축의 값을 어떻게 위 첨자로 표현할 수 있었습니까? –

관련 문제