ggplot2中的boxplots之间的间距

时间:2013-06-11 15:09:45

标签: r ggplot2

过去几周我一直在与ggplot2合作,并且想知道是否有人可以帮助我解决我遇到的这个问题。

当我绘制我的盒子图时,我的盒子互相接触。我希望他们之间有一点空间。有没有办法实现这个目标?我确信有,我只是没有看到它。enter image description here

1 个答案:

答案 0 :(得分:16)

让我们借用Kevin Ushey在question中提供的可重现的例子:

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))

做了这个伎俩。

enter image description here