我知道可以使用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)
注意:我知道这个问题与此类似,但缩小差距的答案并不明显。
答案 0 :(得分:3)
我会调整情节的宽高比,让ggplot
自动为条形分配正确的宽度以及它们之间的间隙:
ggplot(iris, aes(Species, Petal.Length)) +
geom_bar(stat="summary", width=0.4) +
theme(aspect.ratio = 2/1)
产生这个:
答案 1 :(得分:-1)
设置width = 1
来删除其之间的所有空间,而不是减小宽度,以缩小条形但增加条间间距。*
ggplot(iris, aes(Species, Petal.Length, fill=Species)) + geom_bar(stat="summary", width=1)
默认值为0.9,因此您可以通过设置width = 0.95
ggplot(iris, aes(Species, Petal.Length, fill=Species)) + geom_bar(stat="summary", width=0.95)
fill=Species
,我可以自由地添加颜色,以帮助它们之间没有空格时看到不同的条形。