【Python】解决使用 plt.savefig 保存图片时一片空白

【Python】解决使用 plt.savefig 保存图片时一片空白问题当使用如下代码保存使用plt.savefig保存生成的图片时,结果打开生成的图片确实一片空白。importmatplotlib.pyplotasplt”””一些画图代码”””plt.show()plt.savefig(“filename.png”)原因其实产生这个现象的原因很简单:在plt.show()后调用了plt.savefig(),在plt.show()后实际上已经创建

大家好,又见面了,我是你们的朋友全栈君。

更新

这里我会列出对本文的更新。

  • 2017 年 9 月 28 日:修正几处错字,优化排版。

问题

当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白。

import matplotlib.pyplot as plt

""" 一些画图代码 """

plt.show()
plt.savefig("filename.png")

原因

其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。


解决

知道了原因,就不难知道解决办法了,解决办法有两种:

  1. plt.show() 之前调用 plt.savefig()

    import matplotlib.pyplot as plt
    
    """ 一些画图代码 """
    
    plt.savefig("filename.png")
    plt.show()
    
  2. 画图的时候获取当前图像(这一点非常类似于 Matlab 的句柄的概念):

    # gcf: Get Current Figure
    fig = plt.gcf()
    plt.show()
    fig1.savefig('tessstttyyy.png', dpi=100)
    

END

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140730.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ORACLE 更改username

    ORACLE 更改username

    2022年1月23日
    40
  • windows XP虚拟机安装[通俗易懂]

    windows XP虚拟机安装[通俗易懂]一.安装环境:win10VMware15winxp.iso二.安装过程:1.用自定义(高级)安装(原因是虚拟磁盘类型必须选IDE,而典型是默认磁盘类型的,如果你用典型发现到后面会报错)2.按照自己的需求选择硬件兼容性,建议选择最高的,因为向下兼容。3.插入.iso文件4.选择操作系统和版本5.修改名称和选择安装位置(可默认)6.根据自己的需求修改处理器配置,内存(不得低于1G,即1024MB)、网络类型、I/O控制类型。7.磁盘类型是重点,一定要选择IDE。8.磁盘。

    2022年8月16日
    4
  • 小程序怎么开发自己的小程序_微信小程序建议使用

    小程序怎么开发自己的小程序_微信小程序建议使用微信小程序入门前言随着科技的不断进步,很多功能将会开放,那么很多需求也将会因为现实而得到满足,这是一种不需要下载和安装就可以使用的应用软件。用户只需扫描和搜索就可以打开应用程序。它很容易使用,而且很容易实现。小程序带来了巨大的流量,吸引了很多大的人和企业家前来追踪,也显示出它强大的生命力。小程序是下一个被确定为互联网新品种的程序,信已经成为不可缺少的交流工具,小程序依附于微信,用户搜索起来也会更方便,其实这就是小程序发展的前景和优势。提示:以下是本篇文章正文内容,下面案例可供参考一、小程序的概

    2022年9月27日
    0
  • 手撕包菜_handlecpuacceleration

    手撕包菜_handlecpuaccelerationLinkedHashSet能够维护元素插入集合的顺序,在遍历时,按照此顺序进行遍历。LinkedHashSet继承了HashSet类,实现了Set等接口。LinkedHashSet仍然支持null元素,唯一有所区别的是在迭代时,它能够按照元素的插入顺序遍历。LinkedHashSet的实现非常简单,它仅仅只重新实现了构造方法,将HashSet内部维护的HashMap…

    2022年10月12日
    0
  • js匿名函数自调用this指向_java 匿名函数

    js匿名函数自调用this指向_java 匿名函数  //第一种方法  (function (argument){   console.log(argument)  })("有参匿名函数自调用");  //第二种方法  (function (){   console.log("无参匿名函数自调用方法一")  }());  //第三种方法  !function (){   console.log("有参…

    2022年10月3日
    0
  • pycharm怎么打包成exe文件_pycharm写好的程序打包

    pycharm怎么打包成exe文件_pycharm写好的程序打包对于python3,将完成的python工程打包成exe运行,需要用到pyinstaller模块,具体操作方法如下:一、安装pyinstaller模块2、打包选择控制台Terminal输入pyinstaller-FXXXX.py/***附参数集合:–icon=图标路径(pyinstaller-F–icon=my.icoXXXX.py)-F打包成一个e…

    2022年8月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号