在R/ggplot2中改变True和False的堆叠顺序

6
使用ggplot2中的qplot绘制逻辑值时,False的计数始终在底部,但通常情况下,我希望True在底部,这样更容易阅读。以下是一个示例。
y<-as.logical(rbinom(100,1,0.7))
x<-factor(rep(letters[1:2], each=50))
qplot(x,fill=y, geom='bar')

我该如何获取堆栈底部TRUE的计数?
1个回答

5
如果您可以将其转换为因子,可以这样做:

如果您感到舒适,可以将其转换为因子:

yf <- factor(y, levels = c("TRUE", "FALSE"))
qplot(x, fill = yf, geom = 'bar')

我建议您保留原始的逻辑向量,仅在绘图时使用因子。如果使用因子代替逻辑向量可能会对下游产生不良影响,这一点很难确定。


事实上,现在我想起来了,ggplot 可能只是在幕后将其转换为因子。 - Matt Parker
+1 确实,@Matt 这就是正在发生的事情,正如你在回答中所说,获得自己想要的级别排序的简单方法是手动强制转换为因子,并明确设置级别的顺序。 - Gavin Simpson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接