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)

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

# 根据一个变量进行分割,不分方向均使用横向排布
p + facet_wrap( ~ cyl)
# 指定排布的行数
p + facet_wrap( ~ cyl,nrow = 1)
# 根据两个变量进行分割
p + facet_wrap(drv ~ cyl)

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

转载请注明出处~ biolearn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。