2013-02-19 3 views
3

geom_bar에 position = "fill"을 사용하려고 할 때 오류가 발생합니다. 여기 MWE있다 : 제 ggplot 호출하는 바, 각 바는 레벨 0에 대응하는 3 색으로 구성되어 플롯 2. 범례를 제조하는 최종 단계 (3)을 잘 보여준다 작품ggplot2 일부 시나리오에서 position = "fill"일 때 geom_bar 오류가 발생합니다.

temp = data.frame(X=rep(1:10,10), weight=runif(100), fill=rbinom(100,size=3,p=.5)) 
temp$weight[temp$fill==3] = 0 
ggplot(temp, aes(x=X, weight=weight, fill=as.factor(fill))) + 
    geom_bar(bin_width=1) 
ggplot(temp, aes(x=X, weight=weight, fill=as.factor(fill))) + 
    geom_bar(bin_width=1,position="fill") 

, 하지만 가중치는 항상 0이므로 플롯에 표시되지 않습니다.

그러나 두 번째 ggplot 호출은 오류를 반환합니다. 이전과 같은 줄거리를 반환 할 것으로 예상했지만 각 막대의 높이를 1까지만 조절할 수 있습니다. 왜 이런 일이 벌어지고 있는지, 그리고 해결 방법이 있는지 생각해보십시오.

답변

3

position=fill을 사용할 때 weight이> 0이 될 것으로 예상됩니다. 다음을 수행하는 경우 :

그러면 작동합니다.

+0

감사합니다. 그게 바로 제가 찾던 것입니다. –

관련 문제