对于分类变量比较有用的一个方法是将图拆分成多个facets,每个子图都展示数据的一个子集。
要通过单个变量对绘图进行分面,请使用 facet_wrap()。 facet_wrap()的第一个参数应该是一个公式。
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_wrap(~ class, nrow = 2)
如果要对两个变量的组合对绘图进行分面,那么需要facet_grid()。facet_grid()的第一个参数也是一个公式,
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_grid(drv ~ cyl)
如果把上面代码变成这样会怎样?
ggplot(data = mpg) +
geom_point(mapping = aes(x = drv, y = cyl))
没有了facet_grid(drv ~ cyl),图变成这样:
显然我们不能对离散型变量作散点图。
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_grid(drv ~ .)
按照displ这个定性变量对图片分层。其中displ放在y轴位置。
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_grid(. ~ cyl)
按照cyl这个离散变量对图片分层。其中cyl放在x轴位置
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_wrap(~ class, nrow = 2)