当我尝试使用position="fill"来设置geom_bar时,出现了错误。这是一个MWE:
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")
第一个ggplot调用可以正常工作,生成一个条形图,每个柱子由对应于水平0、1和2的3种颜色组成。图例显示最终水平(3),但由于权重始终为0,它不会出现在图表上。
然而,第二个ggplot调用返回一个错误。我原以为它会返回与之前相同的图,只是将每个柱子的高度增加到1。你知道为什么会发生这种情况吗?如果有解决方法,请告诉我。