首页 > 解决方案 > ggplot2:如何使用 geom_bar 减小条形之间的宽度和空间

问题描述

我知道可以在geom_bar使用width参数时更改条的宽度。这确实有效,但随后会在条形之间产生更大的间隙。有没有办法手动将酒吧推得更近?我应该以某种方式操纵轴吗?

这是一个示例,将右侧的宽度更改为 0.3 以获得所需的条形宽度。

library(tidyverse)
library(gridExtra)

p1 <- ggplot(iris, aes(Species, Petal.Length)) + geom_bar(stat="summary")
p2 <- ggplot(iris, aes(Species, Petal.Length)) + geom_bar(stat="summary", width=0.3)
grid.arrange(p1,p2,nrow=1)

在此处输入图像描述

注意:我知道这个问题与这个问题相似,但缩小差距的答案并不明显。

如何更改geom_bar中条之间的空间?

标签: rggplot2data-visualization

解决方案


我会调整绘图的纵横比,并ggplot自动为条形分配正确的宽度以及它们之间的间隙:

  ggplot(iris, aes(Species, Petal.Length)) + 
      geom_bar(stat="summary", width=0.4) +
      theme(aspect.ratio = 2/1)

产生这个:

在此处输入图像描述


推荐阅读