在过去的几周里,我一直在使用 ggplot2,并且想知道是否有人可以帮助我解决我遇到的这个问题。
当我绘制我的箱线图时,我的盒子相互接触。我希望他们之间有一点空间。有没有办法做到这一点?我确定有,但我只是没有看到。
让我们借用 Kevin Ushey 在这个问题中提供的可重现示例:
set.seed(123)
dat <- data.frame(
x=rep( c(1, 2, 3, 4), times=25 ),
y=rnorm(100),
gp=rep(1:2, each=50)
)
p <- ggplot(dat, aes(x=factor(x), y=y))
p + geom_boxplot(aes(fill = factor(gp))) #example 1
然后,按照 Arun 的建议,我测试了(position = position_dodge(.))
but ,geom_boxplot
而不是geom_bar
,并且成功了。
在这种情况下,没有必要更改框的宽度。
因此,将上述代码的最后一行更改为:
p + geom_boxplot(aes(fill = factor(gp)),position=position_dodge(1))
成功了。