Learn R package together--(3)

简介: 论文中作图经常会有合并图排版需求,一般会放入PPT中或AI手动调节,若是在R中出图前直接调好岂不是更美滋滋,So本次就介绍几种关于合并图形的包cowplot、gridExtra、ggpubr、patchwork

图形合并策略

前三种策略

library(cowplot)
library(gridExtra)
library(ggpubr)
data("mtcars")
data("ToothGrowth")
rm(list = ls())
# 前三种策略
mtcars$name <- rownames(mtcars)
mtcars$cyl <- as.factor(mtcars$cyl)
mtcars
mtcars$name <- factor(mtcars$name,levels = mtcars[order(mtcars$cyl),'name'])#此处设置可使同组排列一起,调整因子的顺序
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
bxp <- ggplot(ToothGrowth,aes(x=dose,y=len,color=dose))+geom_boxplot()
dp <- ggplot(ToothGrowth,aes(x=dose,y=len,fill=dose))+geom_dotplot(binaxis='y',stackdir = 'center',
                                                               stackratio = 1.5,dotsize = 1.2)
bp <- ggplot(mtcars,aes(x=name,y=mpg,fill=cyl))+geom_bar(stat = 'identity')+theme(axis.text.x=element_text(angle = 75,hjust=1,size=8)) # 
sp <- ggplot(mtcars,aes(x=wt,y=mpg,color=cyl,shapecyl))+geom_point()+geom_smooth(method = ls,aes(fill=cyl))
plot_grid(bxp,dp,bp,sp,labels = c('A','B','C','D'),ncol = 2,nrow = 2) #cowplot
ggarrange(bxp,dp,bp,sp,labels = c('A','B','C','D'),ncol = 2,nrow = 2) #ggpubr
grid.arrange(bxp,dp,bp,sp,ncol = 2,nrow = 2) #gridExtra

5f5ef00db48b94d45ffe14be664b49d.png

第四种策略用新包patchwork

# install.packages('patchwork')
library('patchwork')
bxp+dp+bp+sp + plot_annotation(tag_levels = 'A')+ #图例都放右边
  plot_layout(guides = 'collect')& theme_minimal() #&符号可以修改所有子图主题

471705e719812350a1e168d0f261e37.png

个人比较看好patchwork,对于排版有个更大的自由,参数有很多,想了解的话直接看大佬的原文档

相关文章
|
8月前
|
Go
go: finding module for package
go: finding module for package
|
11月前
|
Go
go package 相关介绍
go package 相关介绍
39 0
Learn R package together--(2)
介绍俩个小众但实用的包wherepackage、rPlotter
59 0
Learn R package together--(1)
ggrepel包 此包可解决标签重合问题
59 0
【YOLOV5-6.x讲解】常用工具类 models/common.py
【YOLOV5-6.x讲解】常用工具类 models/common.py
298 0
|
异构计算 Python
【谁说视频不能P】之基于PaddleHub的100行代码P阿力木视频
【谁说视频不能P】之基于PaddleHub的100行代码P阿力木视频
83 0
【谁说视频不能P】之基于PaddleHub的100行代码P阿力木视频
No package ‘gobject-introspection-1.0‘ found
No package ‘gobject-introspection-1.0‘ found
181 0
libcanberra development package not found
libcanberra development package not found
53 0
No package ‘dconf‘ found
No package ‘dconf‘ found
88 0
No package ‘polkit-gobject-1‘ found
No package ‘polkit-gobject-1‘ found
90 0