R语言ggplot多图合并

library(ggplot2)
##准备数据
data(diamonds)	
set.seed(100)
dsmall <-diamonds[sample(nrow(diamonds),100),c(1,2,3,4,7)]
head(dsmall)
p <- ggplot(data = dsmall, 
            mapping = aes(x = carat, y = price))
p0<-p
##几何对象####

p1<-p + geom_point()
p2<-p + geom_point(aes(colour=cut))
p3<-p + geom_point(aes(colour = "blue"))
p4<-p + geom_point(    colour = "blue")
p5<-p + geom_point(aes(colour=cut,shape=clarity))
p6<-p + geom_point(aes(colour=cut,shape=cut))
#~~~~~~~~~~~~~~~
p7 <- 
  p + 
  geom_point(aes(colour=cut), 
             size=5,
             alpha=0.7)
p7

多幅合并

#par(mfrow=c(2,3), mar=c(2,3,2,0.5))这里不适用

library(patchwork)

p1+p2+p3
patchwork<-p1 /( p2+p3)
patchwork + plot_annotation(
  title = 'patchwork')

patchwork

在这里插入图片描述

library(ggpubr)
fig<-ggarrange(p0,p1,p2,p3, ncol=1, nrow = 4,labels = LETTERS[1:4])
annotate_figure(fig,
                top = text_grob("Visualizing ggarrange", color = "orange", face = "bold", size = 14))

ggarrange
在这里插入图片描述

library(cowplot)
pic <- cowplot::plot_grid(p4,p5,p6,p7, 
                          ncol=2,nrow = 2, labels = LETTERS[1:4])
pic

cowplot
在这里插入图片描述

grid.newpage()  ##新建页面
pushViewport(viewport(layout = grid.layout(2,2))) ####将页面分成2*3矩阵
vp1 <- viewport(layout.pos.row = 1, layout.pos.col = 1)##设置第一个绘图区域,大小是2行1列
vp2 <- viewport(layout.pos.row = 1, layout.pos.col = 2)##设置第二个绘图区域,大小是2行1列
vp3 <- viewport(layout.pos.row = 2, layout.pos.col = 1)##设置第三个绘图区域,大小是1行1列
vp4 <- viewport(layout.pos.row = 2, layout.pos.col = 2)##设置第四个绘图区域,大小是1行1列

print(p6, vp = vp1)
print(p7, vp = vp2)
print(p4, vp = vp3)
print(p5, vp = vp4)

在这里插入图片描述

一幅多图

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值