ggplot2中箱线图之间的间距

11

我在过去的几周中一直在使用ggplot2,并想知道是否有人能帮助我解决这个问题。

当我画出箱线图时,我的箱子之间是相互贴着的。我希望它们之间有一点间隔。有什么方法可以实现吗? 我相信肯定有,只是我没有看到。enter image description here


2
你能提供数据并展示你的代码吗?这样我们就能更好地帮助你了。我想,这与geom_bar(position = position_dodge(.))参数有关,其中.表示0到1之间的值。 - Arun
也许这可以回答你的问题?https://dev59.com/qm025IYBdhLWcg3wT0Lq?rq=1 - janattack
1个回答

25

让我们使用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

enter image description here

在Arun的建议下,我尝试了(position = position_dodge(.)),但是使用geom_boxplot而不是geom_bar,它起作用了。

在这种情况下,没有必要改变箱子的宽度。

因此,将上述代码的最后一行更改为:

p + geom_boxplot(aes(fill = factor(gp)),position=position_dodge(1))

起了作用。

在此输入图片描述


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