在用R语言做完图之后要想放在论文里,就需要把不同的图组合起来,尝试过用PPT,以及在Word里,效果都不太好,因此试着在R里组图(它的优势在于调图片清晰度比较方便)
首先说第一种
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #加载包 library(ggpubr) library(ggplot2) #组图 figure <- ggarrange(pp1,pp2,pp3, #需要组合的图 ncol = 3, nrow = 1) #ncol是一行放几个,nrow是放几列 figure
#这个是看要不要给组图加横纵标题什么的。"left"就是加在左边,其他的top,bottom等同理 figure2=annotate_figure(figure,left = text_grob("Normal nitrogen",color = "black", size = 36,x = 0.5,y=0.5,rot=90)) #rot是旋转的角度 figure2 #这个是导出图片的 ggsave(filename="merge_Normal.png", figure2, width=30, heigh=16.4, dpi = 1000) #能设置dpi值,越大的话就越清晰,相应的也就越占内存
|
然后如果图片已经导出了的话,就再导进来改一下格式就好啦,如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| rm(list=ls()) #清一下运行环境,不然图片多容易卡 #导入图片 library(png) setwd("D:/WU G.J/共现图/共现网络图片") #图片存储路径 #导入图片 img1 <- readPNG("Pic1.png") img2 <- readPNG("Pic2.png") #改格式 p1<-ggplot()+background_image(img1)+theme_void() p2<-ggplot()+background_image(img2)+theme_void()
#之后就和上面的一样啦
figure <- ggarrange(pp1,pp2,pp3, #需要组合的图 ncol = 6, nrow = 3) #ncol是一行放几个,nrow是放几列 figure
#这个是看要不要给组图加横纵标题什么的。"left"就是加在左边,其他的top,bottom等同理 figure2=annotate_figure(figure,left = text_grob("Normal nitrogen",color = "black", size = 36,x = 0.5,y=0.5,rot=90)) #rot是旋转的角度 figure2 #这个是导出图片的 ggsave(filename="merge_Normal.png", figure2, width=30, heigh=16.4, dpi = 1000) #能设置dpi值,越大的话就越清晰,相应的也就越占内存
|
在做的过程中我觉得比较有趣的一点就是①先组图再加标题还是②先加标题再组图 ,或者③加标题再组图,再加总的标题
总而言之,涉及的代码就是ggarrange函数(作用是组图)和annotate_figure函数(作用是加标题)这两句,灵活反复运用就行了