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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容