小技巧4-控制绘图区大小(ggplot2)

基于ggplot2的绘图导出时,可以指定整张图像的大小,这里不做赘述。

本文所指绘图区是指坐标轴之间的 绘图区 不含图例区,标题区,标签区 。即横纵坐标之间框柱的区域。

导出单张图时指定整张图像的大小不受影响,但是涉及例如需要导出多张图时,希望 放在一起展示和比较时就会发现很麻烦(但是由于不同组的标签文字长度不一致or其他问题,导致绘图区以外的空间占比不同,最终导致绘图区无法控制在统一大小) ,因此需要控制绘图区大小。

Before:

library(ggplot2)
ggsave("0910 MG132.png",pMG132,width = 6,height = 6,dpi=300)
ggsave("0910 Bafilomycin.png",pBafilomycin,width = 6,height = 6,dpi=300)

After:

library(ggplot2)
library(egg)##控制绘图区大小,以保证标签文字等所占空间不同时,同批图像还是同样大小
library(grid)
ggsave("MG132.png", egg::set_panel_size(pMG132, width=unit(4.5, "in"), height=unit(5, "in")), 
       width = 8, height = 7, units = 'in', dpi = 300)