【发布时间】:2014-02-20 17:13:28
【问题描述】:
我想用faceting,也想控制行数和列数。所以 facet_wrap 优于 facet_grid。但是,虽然 facet_grid 有效,但 facet_wrap 没有并给出错误:“至少一层必须包含用于分面的所有变量”。为什么会出现这种情况?我如何在这里使用 facet_wrap?
x <- rnorm(8)
y <- x + rnorm(8, sd=0.7)
dd <- data.frame(id=rep(1:4, 2), x=x, y=y)
pp <- ggplot(dd, aes(x, y)) + geom_point()
pp
pp + facet_grid(. ~ id) # works
pp + facet_wrap(. ~ id) # error
【问题讨论】:
-
在 facet_wrap 中删除
. -
...展开,
facet_wrap将一组 1D 刻面“包裹”到网格中,因此公式实际上应该是单面的。对于多个变量,您可以使用facet_wrap(~ id + var)。 -
为此奋斗了 30 分钟。谢谢 - 这个答案解决了我的问题!
-
@boethian,请添加以上内容作为答案并关闭问题。