我正在制作一个箱线图,其中将x
和fill
映射到不同的变量,有点像这样:
ggplot(mpg, aes(x=as.factor(cyl), y=cty, fill=as.factor(drv))) +
geom_boxplot()
就像上面的例子一样,我的盒子在不同的 x
值处的宽度不同,因为我没有所有可能的 x
和 fill
值的组合,所以。
我希望所有的盒子都是相同的宽度。这可行吗(最好不要操作底层数据框,因为我担心添加假数据会在进一步分析时引起混乱)?
我的第一个想法是
+ geom_boxplot(width=0.5)
但这并没有帮助;它只是针对给定的 x
因子水平调整了整个箱线图集合的宽度。
这篇文章 看起来几乎相关,但我不太清楚如何将其应用于我的情况。使用 + scale_fill_discrete(drop=FALSE)
似乎不能改变条形图的宽度。