增加ggplot中栏之间的空间

fug*_*ugu 6 r ggplot2

我有一个条形图:

p <- ggplot(data=df, aes(x=Gene, y=FC, fill=expt, group=expt))
p <- p + geom_bar(colour="black", stat="identity", position = position_dodge(width = 0.9))
p <- p + geom_errorbar(aes(ymax = FC + se, ymin = FC, group=expt),
                position = position_dodge(width = 0.9), width = 0.25)
p
Run Code Online (Sandbox Code Playgroud)

我想增加条之间的间距(对于每个bin).我已经尝试过乱搞position_dodge(width = ...)但是它会使我的误差条偏斜:

在此输入图像描述

还有其他一些与此相关的问题:

在此输入图像描述

即它似乎增加了箱之间,但代价是与相邻的酒吧重叠

pic*_*ick 12

您也可以调整宽度position_dodge(in geom_bar)以外的宽度,

ggplot(data=df, aes(x=Gene, y=FC, fill=expt, group=expt)) +
  geom_bar(colour="black", stat="identity", position = position_dodge(width = 0.8), width=0.5) +
  geom_errorbar(aes(ymax = FC + se, ymin = FC, group=expt),
                position = position_dodge(width = 0.8), width = 0.25)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

要么

dodge <- position_dodge(width = 0.5)

ggplot(data=df, aes(x=Gene, y=FC, fill=expt, group=expt)) +
  geom_bar(colour="black", stat="identity", position=dodge, width=0.5) +
  geom_errorbar(aes(ymax = FC + se, ymin = FC, group=expt),
                position = dodge, width = 0.25)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述