R语言—ggplot2画图如何使用分面

原创 2018.6.2 星期六 晴 biolearn

两种方法:使用 facet_grid() 或 facet_wrap() 函数

1. facet_grid(): 根据你指定的一个变量进行纵向分割,并根据另一个变量进行横向分割,如果纵向的变量个数为 N,横向的变量个数为 M,则会形成一个 N * M 的矩阵

library(ggplot2)
# 例子
p <- ggplot(mpg, aes(x=displ, y=cty)) + geom_point()
# 纵向分割
p + facet_grid(drv ~ .)
# 横向分割
p + facet_grid(. ~ cyl)
# 纵向横向同时分割
p + facet_grid(drv ~ cyl)
R语言—ggplot2画图如何使用分面_第1张图片

2. facet_wrap(): 分割的子图依次横向排布并换行,根据子图的数目默认使用相等数量的行和列,也可以使用 nrow 和 ncol 自定义行和列的数目

# 根据一个变量进行分割,不分方向均使用横向排布
p + facet_wrap( ~ cyl)
# 指定排布的行数
p + facet_wrap( ~ cyl,nrow = 1)
# 根据两个变量进行分割
p + facet_wrap(drv ~ cyl)
R语言—ggplot2画图如何使用分面_第2张图片

总结:分割一个变量,变量少用facet_grid(),变量多用facet_wrap();分割两个变量,用facet_wrap() 更直观美观

转载请注明出处~ biolearn

你可能感兴趣的:(R语言—ggplot2画图如何使用分面)