翻转坐标后,如何缩小窄条与面板边框之间的间距?使用数据框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 = "")
我尝试同时使用
scale_x_discrete
和limits
参数的expand
以及position = position dodge
都无效,同样没有效果。该question提供了
coord_equal
来更改纵横比,从而减少或消除了多余的空间,但是请注意,该解决方案不适用于coord_flip
。 最佳答案
我想我已经找到了解决方案。您可以从width
中删除geom_bar
并引入theme(aspect.ratio = .2)
,然后可以按比例进行播放以找到所需的宽度。并且不同于coord_equal
或coord_fixed
与coord_flip
兼容。
ggplot(df, aes(x = x, y = y)) +
geom_bar(stat = "identity") +
theme_tufte() + theme(aspect.ratio = .2) +
coord_flip() +
labs(x = "", y = "")