matplotlib之savefig函数

发布时间 2023-11-29 21:41:48作者: Allen_Hao

savefig函数

Matplotlib中,savefig函数用于保存图形为文件。通过该函数,你可以将绘制的图形保存为常见的图像文件格式,如PNG、JPEG、SVG等。

matplotlib.pyplot.savefig(fname, dpi=None, bbox_inches='tight', pad_inches=0.1, format=None, transparent=False, **kwargs)
  • fname: 字符串,表示保存的文件名(包括文件路径)。
  • dpi: 整数,表示图像的分辨率(每英寸点数)。默认为rcParams['savefig.dpi'],通常为100。
  • bbox_inches: 字符串或Bbox类,表示要保存的部分。默认为'tight',即保存整个图表。也可以设置为具体的Bbox对象。
  • pad_inches: 浮点数,表示图表周围的空白边距大小。
  • format: 字符串,表示保存的文件格式,如'png'、'jpg'、'svg'等。如果不指定,将根据文件名的扩展名推断。
  • transparent: 布尔值,表示图像是否保存为透明背景。默认为False
  • **kwargs: 其他关键字参数,用于传递给具体的图像格式设置。

savefig函数示例

import matplotlib.pyplot as plt

# 创建示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 绘制图形
plt.plot(x, y)

# 保存图形为PNG格式,此函数必须在show函数之前执行
plt.savefig('./savefig.png')

# 显示图形
plt.show()

执行后:

 

 

 可以通过dpi参数设置图像的分辨率,bbox_inches参数设置保存的部分,pad_inches参数设置图表周围的空白边距:

import matplotlib.pyplot as plt

# 创建示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 绘制图形
plt.plot(x, y)

# 保存图形为PNG格式,设置分辨率、保存部分和边距
plt.savefig('example_high_res.png', dpi=300, bbox_inches='tight', pad_inches=0.2)

# 显示图形
plt.show()

 通过format参数,你可以指定保存的文件格式:

import matplotlib.pyplot as plt

# 创建示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 绘制图形
plt.plot(x, y)

# 保存图形为JPEG格式
plt.savefig('example.jpg', format='jpg')

plt.show()

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