matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域

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

要让程序自动将图表保存到文件中,代码为:

plt.savefig('squares_plot.png', bbox_inches='tight')
  • 第一个实参指定要以什么样的文件名保存图表,这个文件将存储到scatter_squares.py所在的目录中。
  • 第二个实参指定将图表多余的空白区域裁减掉。如果要保留图表周围多余的空白区域,可省略这个实参。

但是发现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 pixels
plt.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',也可以达到

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

到此这篇关于matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域的文章就介绍到这了,更多相关matplotlib plt.savefig() 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python matplotlib通过plt.scatter画空心圆标记出特定的点方法

    在用python画散点图的时候想标记出特定的点,比如在某些点的外围加个空心圆,一样可以通过plt.scatter实现 import matplotlib.pyplot as plt x = [[1, 3], [2, 5]] y = [[4, 7], [6, 3]] for i in range(len(x)): plt.plot(x[i], y[i], color='r') plt.scatter(x[i], y[i], color='b') plt.scatter(x[i], y[i], co

  • matplotlib jupyter notebook 图像可视化 plt show操作

    一.可视化库导入 %matplotlib inline import matplotlib.pyplot as plt 二.显示彩色图像 plt.figure(figsize=(15,10)) plt.imshow(img) plt.show() 前提是,img是以彩色图像读入的 如果采用opencv读入的图像,通道顺序为BGR,PLT显示图像是以RGB顺序的,可以采用以下代码: plt.figure(figsize=(15,10)) plt.imshow(cv2.cvtColor(input_

  • python matplotlib:plt.scatter() 大小和颜色参数详解

    语法 plt.scatter(x, y, s=20, c='b') 大小s默认为20,s=0时点不显示:颜色c默认为蓝色. 为每一个点指定大小和颜色 有时我们需要为每一个点指定大小和方向,以区分不同的点.这时,可以向s和c传入列表.如: import matplotlib.pyplot as plt import numpy as np x = list(range(1, 7)) plt.scatter(x, x, s=10*np.array(x)**2, c=x) plt.show() 参数s

  • matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)

    1.plt.rcParams plt(matplotlib.pyplot)使用rc配置文件来自定义图形的各种默认属性,称之为"rc配置"或"rc参数". 通过rc参数可以修改默认的属性,包括窗体大小.每英寸的点数.线条宽度.颜色.样式.坐标轴.坐标和网络属性.文本.字体等.rc参数存储在字典变量中,通过字典的方式进行访问. 代码: import numpy as np import matplotlib.pyplot as plt ###%matplotlib in

  • matplotlib 曲线图 和 折线图 plt.plot()实例

    我就废话不多说了,大家还是直接看代码吧! 绘制曲线: import time import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 1000) y = np.sin(x) plt.figure(figsize=(6,4)) plt.plot(x,y,color="red",linewidth=1 ) plt.xlabel("x") #xlabel.ylabel:分别设置X.

  • matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域

    最近在作图时需要将输出的图片紧密排布,还要去掉坐标轴,同时设置输出图片大小. 要让程序自动将图表保存到文件中,代码为: plt.savefig('squares_plot.png', bbox_inches='tight') 第一个实参指定要以什么样的文件名保存图表,这个文件将存储到scatter_squares.py所在的目录中. 第二个实参指定将图表多余的空白区域裁减掉.如果要保留图表周围多余的空白区域,可省略这个实参. 但是发现matplotlib使用plt.savefig()保存的图片

  • 解决Python plt.savefig 保存图片时一片空白的问题

    更新 这里我会列出对本文的更新. 2017 年 9 月 28 日:修正几处错字,优化排版. 问题 当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白. import matplotlib.pyplot as plt """ 一些画图代码 """ plt.show() plt.savefig("filename.png") 原因 其实产生这个现象的原因很简单:在 plt.show()

  • matplotlib中plt.hist()参数解释及应用实例

    目录 一.plt.hist()参数详解 二.plt.hist()简单应用 三.plt.bar()综合应用 附官方参数解释 一.plt.hist()参数详解 简介:plt.hist():直方图,一种特殊的柱状图.将统计值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值.直方图也可以被归一化以显示“相对”频率. 然后,它显示了属于几个类别中的每个类别的占比,其高度总和等于1. import matplotlib as mpl import matplotlib.pyplot a

  • pytorch plt.savefig()的用法及保存路径

    目录 Pytorch中保存图片的方式 plt.savefig 总结 图像有时候比数据更能满足人们的视觉需求 Pytorch中保存图片的方式 pytorch下保存图像有很多种方法,但是这些基本上都是基于图像处理的,将图像的像素指定一定的维度 ,方法如下: 1.tensor直接保存 #!/usr/bin/env python # _*_ coding:utf-8 _*_ import torch from torchvision import utils as vutils def save_ima

  • Python Matplotlib通过plt.subplots创建子绘图

    目录 前言 一.只有子图的绘制 二.单个方向堆叠子图 三.行列方向扩展子图 四.共享轴 五.极坐标子图 前言 plt.subplots调用后将会产生一个图表(Figure)和默认网格(Grid),与此同时提供一个合理的控制策略布局子绘图. 一.只有子图的绘制 如果没有提供参数给subplots将会返回: Figure一个Axes对象 例子: fig, ax = plt.subplots() ax.plot(x, y) ax.set_title('A single plot') 二.单个方向堆叠子

  • PHP使用header()输出图片缓存实例

    本文实例讲述了PHP使用header()输出图片缓存的方法.分享给大家供大家参考.具体分析如下: 在我们生成验证码时会需要直接输入图片,通常会使用到header("Content-type: image/jpeg");来实现,这里就来简单介绍一下. 很多开发中,我们试图使用header("Content-type: image/jpeg");来 输出图片,试图用一些php的图像处理技术,让输出图片更加智能和动感.但我们常常遇到新的问题,除非你规定不同的URL结构,并

  • javascript模拟map输出与去除重复项的方法

    本文实例讲述了javascript模拟map输出与去除重复项的方法.分享给大家供大家参考.具体方法如下: 1.Javascriptmap输出 function Map(){ // private var obj = {} ;// 空的对象容器,承装键值对 // put 方法 this.put = function(key , value){ obj[key] = value ;// 把键值对绑定到obj对象上 } // size 方法 获得map容器的个数 this.size = functio

  • PHP实现浏览器中直接输出图片的方法示例

    本文实例讲述了PHP实现浏览器中直接输出图片的方法.分享给大家供大家参考,具体如下: 在浏览器中输出图片,最简单的方法当然是使用HTML的img标签,直接传入图片路径或者链接.但有时候我们需要把图片做一些处理,比如改一下图片质量或者尺寸再显示出来,我们可以使用PHP内置的图片处理函数imagecreatefromjpeg(或imagecreatefrompng)由文件或 URL 创建一个新图象和imagejpeg(或imagepng),通过 header() 发送 Content-type: i

  • 快速实现JS图片懒加载(可视区域加载)示例代码

    js懒加载图片 如何提高网页加载速度?在网页中有许多img标签,这些标签就是图片,其属性src则是指向服务器地址,当浏览器从上往下读取到src标签中的地址时,浏览器就会开启线程,加载这张图片.而并不是等到整张页面都解析完成才加载图片.我们要做的就是加载用户可视范围内的图片. js懒加载图片的目的 1.网页优化,提高网页加载速度 2.页面优化友好,提高SEO收录与排名 3.提高用户体验,减少服务器压力 实例代码如下: <!DOCTYPE html> <html lang="en&

随机推荐