基于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)
ggsave("Bafilomycin.png", egg::set_panel_size(pBafilomycin, width=unit(4.5, "in"), height=unit(5, "in")),
width = 8, height = 7, units = 'in', dpi = 300)
其中 egg::set_panel_size
设置的就是绘图区大小,后一个尺寸设置的是全图大小。为保证坐标轴title
和legend
正常显示,需要调整和测试一下这两个尺寸的具体参数设置。但!绘图区大小一定小于全图大小。