我不能确定如何在数据的功能,小面data
一个元素ggplot
对象。 在下面的例子玩具,我想要做的是这样的:
df <- data.frame(x=1:8, y=runif(8), z=8:1)
ggplot(df, aes(x=x, y=y)) + geom_point() + facet_wrap( ~ (z %% 2))
但是,使该错误: Error in layout_base(data, vars, drop = drop) : At least one layer must contain all variables used for facetting
。
我可以通过变换数据帧实现所需的结果:
ggplot(transform(df, z=z%%2), aes(x=x, y=y)) + geom_point() + facet_wrap( ~ z)
但往往是可取的,如果我已经被赋予了不使用这种转化,例如ggplot
对象,我想一些即席刻面添加到它。