ggplot2实现一页多图的三种方法

如果你只用plot函数的话,那么用`par函数就能实现了,不过本文讲的是ggplot2的一页多图

cowplot包

install.packages("cowplot")
library(cowplot)

这是随便一组数据,可以看到我现在有a,b,c,d四张图,当然图的名字可以自己命名,关于这些图,可以看我的下面这篇文章
ggthems包

x<-c(1:5)
y<-x
xy<-data.frame(x,y)
library(tidyverse)
library(ggthemes)
a <- ggplot(xy,aes(x,y))+geom_point()+theme_few()
b <- ggplot(xy,aes(x,y))+geom_point()+ theme_calc()
c<-ggplot(xy,aes(x,y))+geom_point()
d<-ggplot(xy,aes(x,y))+geom_point()+theme_excel()+
  geom_abline(slope = 1,intercept = 0)

简单示例

只要输入:
plot_grid前面的内容可以不要

cowplot::plot_grid(a,b,c,d,nrow=2)

a,b,c,d是我图的名字,nrow=2就是两列,结果如下:

在这里插入图片描述
当然你也可以这么添加参数

cowplot::plot_grid(a,b,c,d,nrow=2,
    labels = c('第一张图', 'second picture', 'C', '最后一张'))

在这里插入图片描述

修改每张图所占的比例

cowplot::plot_grid(a,b,c,d,nrow=2,labels = "auto"
                           ,label_size = 20,rel_widths = c(1,2),rel_heights = c(2,1))

这里的标签选择了自动

rel_widths = c(1,2),rel_heights = c(2,1)
width表示长,宽度
heights表示列,即高度

在这里插入图片描述

留出空白区域

byrow=T的意思是图片顺序按行
如下图,第三幅和第五幅图是空白

plot_grid(a,b,NULL,c,NULL,d,nrow=2,byrow=T)

在这里插入图片描述
寻找更多的参数

??cowplot

patchwork包(最简单)

还是以上面那四幅图为例

install.packages("patchwork")
  library(patchwork)

主需要输入 a+b+c+d
在这里插入图片描述
怎么样,是不是非常简单呢
那么如何让第一张图在第一行,剩下的在第二行呢?
只需要输入

a/(b+c+d)

在这里插入图片描述

gupubr包

install.packages("ggpubr")
library(ggpubr)
ggarrange(a,b,c,d)

在这里插入图片描述
同样他也有很多参数
在这里插入图片描述
更多内容请点击:
ggplot2一页多图(组合图)
ggplot2画组合图

  • 14
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值