主要引用 ggplot2 book, p。 148楼。
刻面分为三种类型:
-
facet_null() : 单个图,默认值。
-
facet_wrap():将一维面板带“包裹”成二维。
-
facet_grid() :生成由变量定义的二维面板网格,这些变量形成
行和列。
刻面包装
facet_wrap() 制作一长串面板(由任意数量的
变量)并将其包装成二维。如果您只有一个变量,这很有用
有很多层次,并希望以更节省空间的方式安排地块
方式。
您可以使用ncol、nrow、
as.table 和 dir。 ncol 和nrow 控制多少列和多少行(你只需要设置一个)。 as.table 控制构面的布局是否像
一个表格(TRUE),右下角的最高值,或一个图(FALSE),
右上角的值最高。 dir 控制换行的方向:
h水平或v垂直。
构面网格
来自?facet_grid:facet_grid() 形成由行和列分面变量定义的面板矩阵。当您有两个离散变量并且变量的所有组合都存在于数据中时,它最有用。
您可以在行或列中使用多个变量,方法是“添加”它们
一起,例如a + b ~ c + d.
facet grid() 有一个名为space 的附加参数,它采用
与scales 相同的值。
# If scales and space are free, then the mapping between position
# and values in the data will be the same across all panels. This
# is particularly useful for categorical axes
ggplot(subset(mpg, manufacturer %in% c("audi", "honda", "toyota")) , aes(drv, model)) +
geom_point() +
facet_grid(manufacturer ~ ., scales = "free", space = "free") +
theme(strip.text.y = element_text(angle = 0))
(简化)示例取自?facet_grid