Python Matplotlib 中如何用 plt.savefig 存储图片 您所在的位置:网站首页 matplotlib输出图片保存 Python Matplotlib 中如何用 plt.savefig 存储图片

Python Matplotlib 中如何用 plt.savefig 存储图片

2024-07-10 06:07| 来源: 网络整理| 查看: 265

目录 前言1. 基本知识2. Bug彩蛋

前言

plt.show()展示图片的时候,截图进行保存,图片不是多么清晰 如何保存高清图也是一知识点

函数包名:import matplotlib.pyplot as plt

1. 基本知识

主要功能:保存绘制数据后创建的图形。使用此方法可以将创建的图形保存

函数源码:(根据需要进行选择)

savefig(fname, dpi=None, facecolor=’w’, edgecolor=’w’, orientation=’portrait’, papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)

参数解释:

参数描述fname指定格式图片或者指定文件位置dpi画质facecolor 和 edgecolor默认为白色Orientation横向或者纵向papertype纸张类型format如png、pdftransparent图片背景透明bbox_inches图表多余的空白区去除pad_inches保存图形周围填充

正常保存:plt.savefig("xx.png"),也可以svg的格式进行保存

保存的时候需要plt.show()在plt.savefig()之后,顺序颠倒会出现图片为空白。

当前文件保存:

注意事项:

如果plt.show() 在plt.savefig()前,就会导致保存图片是空白的情况。window的路径读取,需要反斜杠

要把所有的参数用上,可以用在直方图上

import matplotlib.pyplot as plt x =[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] plt.hist(x) plt.savefig("squares1.png", bbox_inches ="tight", pad_inches = 1, transparent = True, facecolor ="g", edgecolor ='w', orientation ='landscape') plt.show()

截图如下: 在这里插入图片描述

2. Bug彩蛋

在使用Matplotlib保存图片时,确保在调用plt.show()之前进行保存是一个常见的做法,因为plt.show()会清除当前的图形。但是,即使将plt.savefig()放在plt.show()之前,如果代码仍然产生空白图像,可能有几个原因:

缺少必要的渲染步骤: 在某些情况下,Matplotlib可能需要明确的渲染步骤才能正确地保存图形 =》可以尝试在保存之前调用plt.draw()来确保图形已经渲染。

图形被覆盖或重叠: 有时候,图形可能会被其他元素覆盖或重叠,导致保存的图像为空白。这可能是由于设置了错误的坐标轴范围或覆盖了图形的其他元素所致 =》可以尝试调整坐标轴范围或将图形的元素移动到合适的位置。

未正确关闭图形: 如果在保存图形之前没有关闭当前的图形窗口,可能会导致保存的图像为空白 =》可以尝试在保存之前调用plt.close()来关闭当前的图形窗口。

透明度设置问题: 在plt.savefig()中设置了transparent=True,这可能导致保存的图像为空白,特别是当图形中没有任何透明元素时 =》可以尝试将transparent参数设置为False,并查看是否有所改善

以上Bug是泛泛而谈,详细的Bug排查需要一步步探底



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有