2011-08-18 6 views
3

위치 '도지'및 채우기 = 일부 요인 (각 막대/그룹 내의 여러 하위 그룹에 대한 나란한 막대)을 사용하여 막대 그래프를 만드는 데 관심이 있습니다.)하지만 ggplot2는 나에게 the first plot here과 같은 것을 제공합니다. 오른쪽 막대는 너무 넓어서 빈 그룹을위한 공간을 예약하지 않습니다. 여기 ggplot2 position = 너무 큰 막대를 생성하는 '회피'

간단한 사건 : ggplot geom_bar - bars too wide에서

df = data.frame(a=c('o','x','o','o'), b=c('a','b','a','b')) 
qplot(a, data=df, fill=b, position='dodge') 

나는이 아이디어를 가지고, 그것은 기술적으로 동일한 폭의 막대를 생산하지만, 비어있는 그룹에 대한 공간을 보존 없을 때 :

ggplot(df, aes(x=a, fill=a))+ 
geom_bar(aes(y=..count../sum(..count..))) + 
facet_grid(~b,scales="free",space="free") 

내가 원하는 것을 어떻게 얻을 수 있습니까? 미리 감사드립니다.

답변

3

기본 옵션 인 ggplot은 내가 생각하는 것으로 생각합니다. scales="free"space="free" 옵션은 원하는 것과 반대되는 옵션이므로 코드에서 제거하십시오. 또한 geom_bar의 기본값 인 stat은 집계하여 집계하므로 통계를 명시 적으로 지정할 필요가 없습니다.

ggplot(df, aes(x=a, fill=a)) + geom_bar() + facet_grid(~b) 

enter image description here

관련 문제