解决Python plt.savefig 保存图片时一片空白的问题
更新
这里我会列出对本文的更新。
2017 年 9 月 28 日:修正几处错字,优化排版。
问题
当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白。
import matplotlib.pyplot as plt """ 一些画图代码 """ plt.show() plt.savefig("filename.png")
原因
其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。
解决
知道了原因,就不难知道解决办法了,解决办法有两种:
在 plt.show() 之前调用 plt.savefig();
import matplotlib.pyplot as plt """ 一些画图代码 """ plt.savefig("filename.png") plt.show()
画图的时候获取当前图像(这一点非常类似于 Matlab 的句柄的概念):
# gcf: Get Current Figure fig = plt.gcf() plt.show() fig1.savefig('tessstttyyy.png', dpi=100)
以上这篇解决Python plt.savefig 保存图片时一片空白的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python实现base64编码的图片保存到本地功能示例
本文实例讲述了Python实现base64编码的图片保存到本地功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 import os import base64 sss ="""/9j/4AAQSkZJRgABAQEASABIAAD//gAyUHJvY2Vzc2VkIEJ5IGVCYXkgd2l0aCBJbWFnZU1hZ2ljaywgejEuMS4wLiB8fEIy/9sAQwAGBAUGBQQGBgUGBwcGCAoQ
-
matplotlib savefig 保存图片大小的实例
在用matplotlib画图时,如果图例比较大,画在图中就会挡着线条,这时可以用以下语句把图例画到图外面: plt.legend(bbox_to_anchor=(1.01, 1), loc=2, borderaxespad=0., handleheight=1.675) 这个语句可以解决图例遮挡线条的问题,同时,也引入了另外的问题:会使savefig保存图片时,不能将图片完整保存,会使图例保存不完整. 我感觉,原因在于:输出的"图"(并不包含图例)是在画布中间的,而输出时,"
-
对Python中plt的画图函数详解
1.plt.legend plt.legend(loc=0)#显示图例的位置,自适应方式 说明: 'best' : 0, (only implemented for axes legends)(自适应方式) 'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, 'right' : 5, 'center left' : 6, 'center right' : 7, 'lower center' : 8,
-
python实现读取并显示图片的两种方法
在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. 显示图片 import matplotlib.pyplot as plt # plt 用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 import numpy as np lena = mpimg.imread('lena.png')
-
解决Python plt.savefig 保存图片时一片空白的问题
更新 这里我会列出对本文的更新. 2017 年 9 月 28 日:修正几处错字,优化排版. 问题 当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白. import matplotlib.pyplot as plt """ 一些画图代码 """ plt.show() plt.savefig("filename.png") 原因 其实产生这个现象的原因很简单:在 plt.show()
-
解决python中使用PYQT时中文乱码问题
如题,解决Python中用PyQt时中文乱码问题的解决方法: 在中文字符串前面加上u,如u'你好,世界',其他网上的方法没有多去探究,Python的版本也会影响解决方法,故这里只推荐这种. (有人说用toLocal8bit函数也可以,我试了下,貌似不行)请看例子: #coding=utf-8 from PyQt4 import QtGui, QtCore s = QtCore.QString(u'你好(hello)世界(world)') t = s.toLocal8Bit() u = unico
-
解决Python在导入文件时的FileNotFoundError问题
例如,在运行这段代码时 from keras.utils import plot_model plot_model(model, to_file='images/model_mnist.png', show_shapes=True, show_layer_names=True) 会报错 In [8]: FileNotFoundError: [Errno 2] No such file or directory: 'images/model_mnist.png' 此时运行的py文件名称为 temp
-
解决Python发送Http请求时,中文乱码的问题
解决方法: 先encode再quote. 原理: msg.encode('utf-8')是解决中文乱码问题. quote():假如URL的 name 或者 value 值中有『&』.『%』或者『=』等符号,就会有问题.所以URL中的参数字符串也需要把『&=』等符号进行编码,quote()就是对参数字符串中的『&=%』等符号进行编码. 例子: # -*- coding: UTF-8 -*- # python2.7 from urllib import quote import req
-
解决python 执行sql语句时所传参数含有单引号的问题
在编写自己的程序时,需要实现将数据导入数据库,并且是带参数的传递. 执行语句如下: sql_str = "INSERT INTO teacher(t_name, t_info, t_phone, t_email) VALUES\ (\'%s\', \'%s\', \'%s\', \'%s\')" % (result, result2, phoneNumber, Email) cur.execute(sql_str) 执行程序后,产生错误: ProgrammingError: (1064
-
python使用matplotlib的savefig保存时图片保存不完整的问题
python使用matplotlib的savefig保存时图片保存不完整的问题 使用如下形式的代码进行图片保存时,保存的图片出现不完整的情况,如图1所示. plt.colorbar() plt.savefig(title) plt.show() 一开始我以为是图片大小比例不对,因而通过以下代码进行修改: plt.figure(figsize=(10,8)) 但是无论怎么修改,始终会出现这种情况,要么是下面显示不完全,要么就是左边显示不完全.这是为什么呢? 这是因为colorbar会占据右边位置,
-
Python绘制雷达图时遇到的坑的解决
ValueError: The number of FixedLocator locations (9), usually from a call to set_ticks, does not match the number of ticklabels (8). 运行书中例题时发现了这个错误, 原代码如上: import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font
-
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
1.解决方法:使用函数 tight_layout() 2.具体使用方法 import matplotlib.pyplot as plt fig = plt.figure() ''' 具体的画图程序 ''' fig.tight_layout() fig.tight_layout() 功能:使得子图横纵坐标更加紧凑,主要用于自动调整图区的大小以及间距,使所有的绘图及其标题.坐标轴标签等都可以不重叠的完整显示在画布上. 参数: Pad:用于设置绘图区边缘与画布边缘的距离大小 w_pad:用于设置绘图区
-
解决python中画图时x,y轴名称出现中文乱码的问题
如下所示: #-*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties #k与客户端处理时间的值之间的关系 x=range(2,51,2) y1=[5.393128497232703, 9.57638681757734, 13.828038570286598, 17.88060602988053, 22.943
随机推荐
- 数据库ORA-01196故障-归档日志丢失恢复详解
- 深入理解Vuex 模块化(module)
- Javascript倒计时页面跳转实例小结
- iOS10添加本地推送(Local Notification)实例
- JS实现的随机排序功能算法示例
- asp.net验证一个字符串是否符合指定的正则表达式
- asp.net 请求输入到输出的全过程及httpHandler和httpModuler详细介绍
- zf框架db类的分页示例分享
- Python随手笔记第一篇(2)之初识列表和元组
- Spring Bean基本管理实例详解
- mysql 搜寻附近N公里内数据的简单实例
- 将DataTable转换成List<T>实现思路及示例代码
- 全面解析Java8观察者模式
- jQuery对象和DOM对象相互转化
- SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
- jQuery通用的全局遍历方法$.each()用法实例
- jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
- Django与JS交互的示例代码
- 使用javascript:将其它类型值转换成布尔类型值的解决方法详解
- 轻松学习C#的抽象类