2014-09-16 6 views
0

enter image description hereggplot : 0 좌표를 X 축 가운데로 이동하는 방법은 무엇입니까?

다음 코드를 사용하여 화산 플롯을 만들려고하지만 X 축 가운데에 "0"좌표를 넣으려고합니다. ggplot에서이 작업을 수행 할 수있는 방법이 있습니까?

v<-ggplot(exprData.fil,aes(Effect,Effect.sig))+geom_point(aes(colour=Effect.sig),alpha=0.7)+scale_colour_gradient(low="red",high="green") 
    v+ggtitle(mainTitle) 
    v+xlab(expression(log[2](bar(After)/bar(Before))))+ylab(expression(-log[10]("p.value"))) 
+0

'xlim (-12, 12)'와 같은 줄을 추가하지 않으시겠습니까? – jalapic

답변

1

축 제한을 설정 scale_x_continuous()를 추가

v <- ggplot(exprData.fil,aes(Effect,Effect.sig)) + 
     geom_point(aes(colour=Effect.sig),alpha=0.7) + 
     scale_colour_gradient(low="red",high="green") + 
     ggtitle(mainTitle) + 
     xlab(expression(log[2](bar(After)/bar(Before)))) + 
     ylab(expression(-log[10]("p.value"))) + 
     scale_x_continuous(limits=c(-12,12), breaks=seq(-12,12,2)) 

또 다른 옵션은 coord_cartesian(xlim=c(-12,12))을 사용하는 것입니다. 그와 scale_x_continuous()의 주된 차이점은 플롯에 데이터 요약을 추가하는 것입니다 (매끄럽고, 평균, 상자 플롯 등). 축 제한에 데이터 값의 전체 범위가 포함되어 있지 않은 경우 scale_x_continuous() (또는 scale_y_continuous())을 사용하면 요약에서 보이지 않는 데이터를 제외한 데이터 요약 작업이 수행되고 coord_cartesian()은 요약의 모든 데이터를 포함하게됩니다. 음모에 표시 여부.

+0

고마워, 작동하지만 몇 가지 새로운 문제가 발생합니다 - "scale_x_continuous (limits = c (-12,12))"를 추가 한 후 x 및 y 축 레이블을 잃습니다. – TonyGW

+0

'scale_x_continuous' 함수를 편집하여 주요 눈금 레이블을 추가했습니다 . 비슷한 문장을 추가하여 원하는 y 축 레이블을 얻을 수 있습니다. 그 문제를 해결합니까? – eipi10