【R】ggplot2的facet_warp/grid如何实现超过两类水平的分面?

之前最多只做过两类单水平的分面,即两两组合的面板图。如果某类超过两个水平呢?

一类的分面:facet_wrap(~ align)
image.png

两类的分面(x轴和y轴):facet_grid(align ~ gender)
image.png

如果某类超过两水平,如何实现?

很简单:facet_wrap(~ align + gender)

image.png

其他技巧:

  • 自定义图片行列数目排布:
    facet_wrap(~ gender + align, nrow = 2)
    image.png

  • 分面中加入总水平
    facet_grid(align ~ gender, margins=TRUE)
    image.png

  • 不去掉无数据的分面(默认drop = T,面板若无数据分布,不显示该面板)
    facet_wrap(decade ~ gender, drop = FALSE)
    image.png

其他更多分面技巧,可参考:
http://zevross.com/blog/2019/04/02/easy-multi-panel-plots-in-r-using-facet_wrap-and-facet_grid-from-ggplot2/

原文地址:https://www.cnblogs.com/jessepeng/p/14746419.html