博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
阅读量:3932 次
发布时间:2019-05-23

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

作图时需要将输出的图片紧密排布,还要去掉坐标轴,同时设置输出图片大小。

但是发现matplotlib使用plt.savefig()保存的图片

周围有一圈空白。那么如何去掉该空白呢?

 

首先,关闭坐标轴显示:

plt.axis('off')

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

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

 

plt.axis('off')
 
  1. fig = plt.gcf()

  2. fig.set_size_inches(7.0/3,7.0/3) #dpi = 300, output = 700*700 pixels

 
  1. plt.gca().xaxis.set_major_locator(plt.NullLocator())

  2. plt.gca().yaxis.set_major_locator(plt.NullLocator())

  3. plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)

  4. plt.margins(0,0)

  5. 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://xftgn.baihongyu.com/

你可能感兴趣的文章
项目成本管理脉络
查看>>
项目质量管理脉络
查看>>
项目人力资源管理脉络
查看>>
项目沟通管理脉络
查看>>
项目风险管理脉络
查看>>
项目采购管理脉络
查看>>
项目管理总结
查看>>
java内存区域的分布
查看>>
JVM的GC是怎么折腾内存的
查看>>
Java跨平台的构思分析
查看>>
linux目录结构名称对照
查看>>
设计的理念
查看>>
多线程专题 - 脉络图
查看>>
javascript 函数,BOM
查看>>
javascript 客户端能力检测
查看>>
javascript DOM详解之DOM1
查看>>
javascript DOM扩展
查看>>
矛盾论读书笔记
查看>>
规则 - 利用CDN缓存
查看>>
[敏捷开发培训] 代码质量检查之利器—SonarQube
查看>>