【发布时间】:2012-09-03 18:48:12
【问题描述】:
ggplot2 能够使用opts 中的参数panel.margin 更改多面图之间的边距。这似乎改变了水平和垂直间距。有没有办法改变水平或垂直的间距而不改变另一个?
一个带有结果和期望结果的示例:
mtcars[, c("cyl", "am", "gear")] <- lapply(mtcars[, c("cyl", "am", "gear")], as.factor)
p <- ggplot(mtcars, aes(mpg, wt, group = cyl)) +
geom_line(aes(color=cyl)) +
geom_point(aes(shape=cyl)) +
facet_grid(gear ~ am) +
theme_bw()
p + opts(panel.margin = unit(1, "lines"))
所以它目前看起来像:
我们怎样才能让它看起来更像:
【问题讨论】:
-
我猜你可以使用顶部、右侧、底部和左边距的四个参数,但你不能。无赖。
-
@lselzer,我也这么认为,但我认为该选项仅适用于
plot.margin。此功能was asked about 一年前,其可用性的答案是“目前还没有”。 -
由于 ggplot2 0.9.2 现在将
opts替换为theme并且您可以移动一些独立于另一个的东西(即panel.grid.major.y等)我认为这可能有用:theme(panel.margin.x = unit(1, "lines"))但事实并非如此。 -
提交了一个要求这个的问题:github.com/hadley/ggplot2/issues/678