在过去的几周里,我一直在使用ggplot2,并且想知道是否有人可以帮助我解决我遇到的这个问题.
当我绘制我的盒子图时,我的盒子互相接触.我希望他们之间有一点空间.有没有办法实现这个目标?我确信有,我只是没有看到它.
And*_*lva 17
让我们借用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
Run Code Online (Sandbox Code Playgroud)

然后,按照Arun的建议,我测试了(position = position_dodge(.))但geom_boxplot不是geom_bar,而且它有效.
在这种情况下,没有必要改变盒子宽度.
因此,将上面代码的最后一行更改为:
p + geom_boxplot(aes(fill = factor(gp)),position=position_dodge(1))
Run Code Online (Sandbox Code Playgroud)
做了伎俩.
