matplotlib的savefig必须在show之前

举报
irrational 发表于 2022/07/18 23:28:08 2022/07/18
【摘要】 这里写目录标题 一、先展示matplotlib绘的图,再进行保存二、先保存matplotlib绘的图,再进行展示 一、先展示matplotlib绘的图,再进行保存 示例代码1: impo...

一、先展示matplotlib绘的图,再进行保存

示例代码1:

import matplotlib.pyplot as plt
X = [0,  0.5,   1,   1.5,   2,  2.5,   3,   4,  4.5,    5]
Y = [0,   18,  20,  39.5,  60,   50,  68,  77,  100,  110]
########## Begin ##########
import numpy as np
plt.plot(X,Y,'bo')
n = len(X)
sigmax = sum(X)
sigmay = sum(Y)
sigmaxy = sum(np.array(X)*np.array(Y))
sigmax2 = sum(np.array(X)**2)
k = (sigmax*sigmay-n*sigmaxy)/(sigmax**2-n*sigmax2)
b = (sigmax*sigmaxy-sigmax2*sigmay)/(sigmax**2-n*sigmax2)
X_line = [X[0],X[-1]]
Y_line = [k*X[0]+b,k*X[-1]+b]
plt.plot(X_line,Y_line,'r-')
plt.show()
########## End ##########
print('y = %.3fx + %.3f' % (k,b))
plt.savefig( './pic8.png' )

plt.close()
# 注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

运行完代码之后保存在test.png的图片为:
图片没有任何内容
为什么出现这种情况呢?
注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。
所以保存图片的操作必须在展示图片之前

二、先保存matplotlib绘的图,再进行展示

示例代码2:

import matplotlib.pyplot as plt
X = [0,  0.5,   1,   1.5,   2,  2.5,   3,   4,  4.5,    5]
Y = [0,   18,  20,  39.5,  60,   50,  68,  77,  100,  110]
########## Begin ##########
import numpy as np
plt.plot(X,Y,'bo')
n = len(X)
sigmax = sum(X)
sigmay = sum(Y)
sigmaxy = sum(np.array(X)*np.array(Y))
sigmax2 = sum(np.array(X)**2)
k = (sigmax*sigmay-n*sigmaxy)/(sigmax**2-n*sigmax2)
b = (sigmax*sigmaxy-sigmax2*sigmay)/(sigmax**2-n*sigmax2)
X_line = [X[0],X[-1]]
Y_line = [k*X[0]+b,k*X[-1]+b]
plt.plot(X_line,Y_line,'r-')

########## End ##########
print('y = %.3fx + %.3f' % (k,b))
plt.savefig( './pic8.png' )
plt.show()
plt.close()
# 注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

此时运行完代码之后保存在test.png的图片为:
在这里插入图片描述

文章来源: blog.csdn.net,作者:irrationality,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_54227557/article/details/125842694

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。