美文网首页
R语言for循环中多图一页、一页一图

R语言for循环中多图一页、一页一图

作者: SCU十一 | 来源:发表于2022-04-04 19:05 被阅读0次

1.问题描述:数据如图1,我要按照group画每个分类的散点图,如图2,9个group在一个PDF文件的同一页

2.使用for循环和assign函数,画出9个group的图,储存在pp1-pp9,完了用cowplot进行合并到一个页面。

for(i in 1:9){

test2 = subset(test,group==i)

  assign(paste0("pp", i),ggplot(data = test2, aes(x=PC1,y=PC2))+geom_point(color="grey")+theme(legend.position = 'none'))

}

library("cowplot")

pdf("test.pdf",width=8.27,height=8.27)

plot_grid(pp1,pp2,pp3,pp4,pp5,pp6,pp7,pp8,pp9,ncol=3,nrow=3,hjust=1.5)

dev.off()

assign函数很妙,可以多个输出pp1-pp9,存9张图,使用方法为assign(变量名,你的任何函数)

3.另一种输出需求,把9张图,画到同个pdf 9页,每一页一个图

pdf("test.pdf",width=8.27,height=8.27) ##新建pdf

for(i in 1:9){

test2 = subset(test,group==i)

pp=ggplot(data = test2, aes(x=PC1,y=PC2))+geom_point(color="grey")+theme(legend.position = 'none')

print (pp)    ##每画一张图,就print输出到pdf中

}

dev.off()

相关文章

网友评论

      本文标题:R语言for循环中多图一页、一页一图

      本文链接:https://www.haomeiwen.com/subject/tencsrtx.html