10

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

当我绘制我的箱线图时,我的盒子相互接触。我希望他们之间有一点空间。有没有办法做到这一点?我确定有,但我只是没有看到。在此处输入图像描述

4

1 回答 1

23

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

成功了。

在此处输入图像描述

于 2013-11-19T19:06:30.460 回答