【发布时间】:2013-12-11 19:02:50
【问题描述】:
当我在 ggplot2 中绘制条形图时,我想将条形底部和 x 轴之间的空间减少到 0,但保持条形和绘图框上方的空间。我在下面有一个技巧。它很脏,我想再次清洁。有没有办法在没有肮脏的小技巧的情况下实现这种行为?
默认(希望上方有空格,但不希望下方有空格):
ggplot(mtcars, aes(x=as.factor(carb))) +
geom_bar()
使用扩展(上面不需要 0 个空格,但在条形下面得到了 0 个空格):
ggplot(mtcars, aes(x=as.factor(carb))) +
geom_bar() +
scale_y_continuous(expand = c(0,0))
Dirty Hack(我喜欢它,但它......好吧,很脏):
ggplot(mtcars, aes(x=as.factor(carb))) +
geom_bar() +
scale_y_continuous(expand = c(0,0)) +
geom_text(aes(x=1, y=10.3, label="Stretch it"), vjust=-1)
【问题讨论】:
-
我假设您也考虑使用
coord_cartesian进行大量硬编码? -
@baptise 您可以添加为未来搜索者的解决方案。这也有效。
-
好问题,这也让我在 ggplot2 图中感到恼火,因为 y 轴不是从相框底部开始的。
-
有一个新的(呃)问题指向这个问题,really great solution 将
expand()概括为上限扩展和下限扩展列表。