ggplot2 facet_grid:如何修复 geom_col 中列之间的不同间距

ggplot2 facet_grid: how to fix different spacing between columns in geom_col

我的数据集包含三个独立组的不同键的值,我想使用 facet_grid 为 3 个不同的组创建一个包含这些值的条形图。这是我到目前为止所做的,但是我找不到固定条之间间距的方法(从图片中可以清楚地看出它们是不同的)。我尝试为 geom_col 更改参数 widthposition,但没有帮助。我该如何解决?

library(ggplot2)
# Loading

groups = c(rep("q", 8), rep("w", 8), rep("e", 8))
keys = c(c(1:8), c(1:8), c(1:8))
values = c(rep(8, 8), rep(8, 8), rep(8, 8))
data = data.frame(groups, values, keys)

ggplot(data, aes(x = keys, y = values)) +
  geom_col(width=0.9375) +
  facet_grid(~groups)

试试这个:

ggplot(data) + 
  geom_bar(aes(x = keys, y = values), stat = "identity") +
  facet_grid(~groups)

我的猜测是图像的 size/resolution 有问题。如果 size/resolution 很小,你可能会得到这个结果。您的图像是 614 x 362,@Leonardo 是 1362x699。我的猜测是这就是造成这种奇怪间距的原因。

g <- ggplot(data, aes(x = keys, y = values)) +
  geom_col() + facet_grid(~groups)

png(filename = "Rplotsmall.png", width=614, height = 362)
print(g)
dev.off()

png(filename = "Rplotlarge.png", width=1362, height = 699)
print(g)
dev.off()

小图片(间距奇怪):

大图(间距显示正常):

如果您使用 Rstudio 并打印到绘图 window,您应该会看到这种奇怪的效果在您单击“缩放”并增大或减小 window(因为 Rstudio 正在重新绘制不同大小的图像)。