翻转坐标后,如何缩小窄条与面板边框之间的间距?使用数据框df和ggplot命令,底部栏和刻度线之间有很多空白(并且类似地,“供应商”栏上方有很大的空间)。

df <- data.frame(x = c("firm", "vendor"), y = c(50, 20))

ggplot(df, aes(x = x, y = y)) +
  geom_bar(stat = "identity", width = 0.4) +
  theme_tufte() +  coord_flip() +
  labs(x = "", y = "")


r - ggplot2:如何缩小coord_flip之后的窄宽度条和面板边框之间的空间-LMLPHP

我尝试同时使用scale_x_discretelimits参数的expand以及position = position dodge都无效,同样没有效果。

question提供了coord_equal来更改纵横比,从而减少或消除了多余的空间,但是请注意,该解决方案不适用于coord_flip

最佳答案

我想我已经找到了解决方案。您可以从width中删除​​geom_bar并引入theme(aspect.ratio = .2),然后可以按比例进行播放以找到所需的宽度。并且不同于coord_equalcoord_fixedcoord_flip兼容。

ggplot(df, aes(x = x, y = y)) +
  geom_bar(stat = "identity") +
  theme_tufte() + theme(aspect.ratio = .2) +
  coord_flip() +
  labs(x = "", y = "")


r - ggplot2:如何缩小coord_flip之后的窄宽度条和面板边框之间的空间-LMLPHP

08-25 05:34