R ggplot2中的几何钢筋宽度

R ggplot2中的几何钢筋宽度,r,ggplot2,R,Ggplot2,我正在用ggplot生成分面条形图。我的问题是,下面的MWE在底部生成图形。我想它生成的酒吧,有相同的宽度在两个方面。我该怎么办 library(ggplot2) df = data.frame(x = as.factor(c(1, 2, 3, 1, 2)), y = c(2, 3, 4, 5, 6), g = c(1, 1, 1, 2, 2)); ggplot(df, aes(x = 1, y = y, fill = x))

我正在用ggplot生成分面条形图。我的问题是,下面的MWE在底部生成图形。我想它生成的酒吧,有相同的宽度在两个方面。我该怎么办

library(ggplot2)

df = data.frame(x = as.factor(c(1, 2, 3, 1, 2)),
                y = c(2, 3, 4, 5, 6),
                g = c(1, 1, 1, 2, 2));

ggplot(df, aes(x = 1, y = y, fill = x)) +
  geom_bar(stat = "identity",
           position = "dodge") +
  facet_wrap(~ g);

不确定这是否是您需要的。使用
tidyr
软件包中的
complete
功能创建缺失因子级别的占位符也可以使两个面上的条形宽度相同。缺点是第二个情节不平衡

ggplot(tidyr::complete(df, x, g), aes(x = 1, y = y, fill = x)) +
       geom_bar(stat = "identity", position = "dodge") +
       facet_wrap(~ g);

此外: