小技巧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)
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设置的就是绘图区大小,后一个尺寸设置的是全图大小。为保证坐标轴titlelegend正常显示,需要调整和测试一下这两个尺寸的具体参数设置。但!绘图区大小一定小于全图大小。

“小技巧”系列是我在实际使用中遇到的,又容易忘记的小知识点。记录下来,分享的同时,以备自己查询

你可能感兴趣的:(小技巧4-控制绘图区大小(ggplot2))