【问题标题】:Increase space between bars in ggplot增加ggplot中条之间的空间
【发布时间】:2015-07-16 15:31:05
【问题描述】:

我有一个bar plot

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

我想增加条之间的间距(对于每个箱子)。我试过搞乱position_dodge(width = ...),但它扭曲了我的错误栏:

还有几个与此相关的其他问题:

  • This question 的答案似乎可以解决问题(但难以实施)
  • 当我使用this question 的答案时,我得到以下信息:

即似乎增加了bin之间的间隔,但代价是与相邻的bar重叠

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    您也可以调整position_dodge 之外的宽度(在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)
    

    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)
    

    【讨论】:

    • 谢谢,但我仍然不清楚是什么控制因素之间的空间和治疗之间的空间。
    • 即我将如何调整您的代码以将这些因素保持在一起但稍微减小它们之间的间距?基本上是你的第二个插图,但空间减少了
    • @fugu 只需将宽度(位置和条形)都增加到 0.7