我一直在阅读这两个函数的ggplot2文档。我想知道有什么区别,使用每种功能(facet_wrap()facet_grid())的正确情况是什么。

library(ggplot2)

p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl)

p + facet_grid(~ cyl)

我提供了这个小例子作为起点。差异似乎是包裹性的,使地块更具自治性,而网格使一个地块在一起。

最佳答案

以下答案是在facet_grid()facet_wrap()中有两个参数的情况。

即使某些图为空,facet_grid(x ~ y)也将显示x*y图。
例如:

library(ggplot2)
g <- ggplot(mpg, aes(displ, hwy))

有4个不同的cyl和7个不同的类值。
g + geom_point(alpha=1/3) + facet_grid(cyl~class)

上面显示了4 * 7 = 28个图,即使有些是空的(因为某些类没有对应的柱面值,例如class =“midsize”的行没有任何cyl =“5”值)
另一方面,facet_wrap(x ~ y)仅显示具有实际值的图。
g + geom_point(alpha=1/3) + facet_wrap(cyl~class)

现在显示了19个图,每个cyl和class组合都一个。

关于r - ggplot2中的facet_wrap()和facet_grid()有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20457905/

10-13 00:32