关于图表的组合排版,在之前的微信文章中介绍过很多常规的方法,比如 《绘制复杂组合图表的独家秘笈分享》 、 《如何用Graphpad Prism绘制超复杂组合图?》 、 《如何用Origin完成图表排版?》 等。可是,有小伙伴就问了,正如小项羽所言,“剑一人敌,不足学,学万人敌”,那么有没有批量自动化拼图的方法? 既然是批处理,就免不了需要写脚本,这里推荐两个专职拼图的R包:cowplot和patchwork,二者在很多地方都很相似,下面我们就一起比较、学习下如何使用这两个R包实现图表的批量组合、嵌套、对齐、画中画、自动化加标签、图例合并等操作。
#先使用ggplot2绘制4个范例图表,数据为R自带的mtcars数据集;
library(ggplot2)
head(mtcars)
p1 p1p2 "skyblue")
p2
p3 theme(axis.text.x = element_text(size = 10, angle = 60, vjust = 0.5))
p3
p4 "skyblue") + facet_wrap(~cyl)
p4
#载入patchwork包;library(patchwork)#载入cowplot包;library(cowplot)
整合多个图表
patchwork:#使用“+”操作符组合图表;p p
#patch可以自动添加图表标签;p+plot_annotation(tag_levels = 'A',tag_suffix='.')#tag_levels:'a' 小写字母, 'A' 大写字母, '1' 数字, 'i' 小写罗马数字, 'I' 大写罗马数字;#tag_prefix和tag_suffix设置序号的前后缀字符 ;