博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matplotlib/plt 函数savefig保存的图像有空白
阅读量:3740 次
发布时间:2019-05-22

本文共 698 字,大约阅读时间需要 2 分钟。

问题:

最近在作图时需要将输出的图片紧密排布,还要去掉坐标轴,同时设置输出图片大小。但是发现matplotlib使用plt.savefig()保存的图片周围有一圈空白。那么如何去掉该空白呢

首先,关闭坐标轴显示:

plt.axis('off')

但是,这样只是关闭显示而已,透明的坐标轴仍然会占据左下角位置,导致输出的图片偏右。

要想完全去掉坐标轴,需要改为以下代码

plt.axis('off')fig = plt.gcf()fig.set_size_inches(7.0/3,7.0/3) #dpi = 300, output = 700*700 pixelsplt.gca().xaxis.set_major_locator(plt.NullLocator())plt.gca().yaxis.set_major_locator(plt.NullLocator())plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)plt.margins(0,0)fig.savefig(out_png_path, format='png', transparent=True, dpi=300, pad_inches = 0)

即可完成去掉空白。

注:如果不采用subplot_adjust + margin(0,0),而是在fig.savefig()的参数中添加bbox_inches = 'tight',也可以达到

去除空白的效果; 但是,这样会导致对图片输出大小的设置失效。

转载地址:http://fvvin.baihongyu.com/

你可能感兴趣的文章
HTML的背景颜色和背景图片
查看>>
HTML的超链接或热链接(重点)
查看>>
HTML中的列表和iframe 框架标签 (内嵌窗口)
查看>>
HTML的表单form(重点)
查看>>
HTML中元素的id属性和HTML中的div和span
查看>>
MySql数据库概述及数据准备
查看>>
MySql的常用命令
查看>>
MySql中的数据查询语言(DQL)一:简单查询、条件查询、排序数据
查看>>
MySql中的数据查询语言(DQL)二:分组函数/聚合函数/多行处理函数和分组查询
查看>>
MySql中的数据查询语言(DQL)三:连接查询
查看>>
MySql中的数据查询语言(DQL)四:子查询
查看>>
MySql中的数据查询语言(DQL)五:union和limit
查看>>
数据操作语言(DML)一:插入数据insert、修改数据update、删除delete
查看>>
数据操作语言(DML)二:常见函数
查看>>
数据定义语言(DDL):创建表create、修改表alter、删除表drop
查看>>
简单邮件的发送(纯文本)
查看>>
MySql的约束
查看>>
MySql的存储引擎
查看>>
MySql的事务(Transaction)
查看>>
MySql中的索引
查看>>