ggplot2에서 geom_point의 위치를 ​​어떻게 '닷지'할 수 있습니까?


19

R에서 ggplot2를 사용하여 다음과 같은 플롯을 만듭니다.

여기에 이미지 설명을 입력하십시오

오류 표시 줄이 서로 겹치므로 정말 지저분 해 보입니다. 다른 인덱스에 대해 오차 막대를 어떻게 분리 할 수 ​​있습니까? position = "dodge"를 사용했지만 작동하지 않는 것 같습니다. 내 코드의 주요 부분은 다음과 같습니다.

plot =  ggplot(data,aes(x=ntrunc,y=beta_best,group=ntrunc,colour=INDEX))
       +geom_point(aes(shape=detectable),na.rm=TRUE,position="dodge") 
        +geom_errorbar(aes(x=ntrunc,ymax=beta_high,ymin=beta_low),na.rm=TRUE,position="dodge")

1
"닷지"의 다른 가치를 시험해 보셨습니까? 예를 들면 다음과 같습니다 position = position_dodge(width = 0.90).. 이 게시물 도 참조하십시오 .
COOLSerdash

귀하의 예에 감사드립니다. 그러나 방금 다른 너비 값을 시도했지만 여전히 작동하지 않습니다.
ycc

2
엑스ntruncgroupINDEX

group = "INDEX"를 변경하면 이제 작동합니다. 나는 '그룹'의 의미를 잘못 이해했다고 생각합니다. 감사합니다 @COOLSerdash
ycc

답변:


12

그룹 해야 = INDEX 대신 ntrunc 는 AES한다.

plot =  ggplot(data, aes(x=ntrunc, y=beta_best, group=INDEX, colour=INDEX)) +
   geom_point(aes(shape=detectable), na.rm=TRUE, position="dodge") +
   geom_errorbar(aes(x=ntrunc, ymax=beta_high, ymin=beta_low), na.rm=TRUE, position="dodge")

음모가 이제 더 좋아 보입니다.

여기에 이미지 설명을 입력하십시오


7
내가 사용할 때까지 이것은 나를 위해 작동하지 않았다geom_point(aes(shape=detectable),na.rm=TRUE, position=position_dodge(width=0.3))
Nova

결과를 재현 할 수 없으므로 여기에 예제 데이터를 얻는 것이 좋습니다.
Léo Léopold Hertz 준영

1
@Nova 제 추측은 ggplot2버전 0.9.X에서 1.X또는으로 갈 때 대답이 깨 졌다는 것입니다.2.X
Richard Erickson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.