一次性将所有打开的Matplotlib图形保存在一个文件中

一次性将所有打开的Matplotlib图形保存在一个文件中

要一次性将所有打开的Matplotlib图形保存在一个文件中,我们可以按照以下步骤进行操作−

  • 设置图形大小并调整子图之间和周围的填充。
  • 创建一个新的图形 (fig1) 或使用 figure() 方法激活现有的图形。
  • 使用 plot() 方法绘制第一条线。
  • 创建一个新的图形 (fig2) 或使用 figure() 方法激活现有的图形。
  • 使用 plot() 方法绘制第二条线。
  • 初始化一个变量 filename ,以制作一个pdf文件。
  • 创建一个用户定义的函数 save_multi_image ,并调用它以一次性保存所有打开的matplotlib图形。创建一个新的 PdfPages 对象 pp。
  • 获取打开图形的数量。
  • 遍历打开的图形并将它们保存到文件中。
  • 要显示图形,请使用 show() 方法。

示例

from matplotlib import pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig1 = plt.figure()
plt.plot([2, 1, 7, 1, 2], color='red', lw=5)

fig2 = plt.figure()
plt.plot([3, 5, 1, 5, 3], color='green', lw=5)

def save_multi_image(filename):
   pp = PdfPages(filename)
   fig_nums = plt.get_fignums()
   figs = [plt.figure(n) for n in fig_nums]
   for fig in figs:
      fig.savefig(pp, format='pdf')
   pp.close()

filename = "multi.pdf"
save_multi_image(filename)

输出

当我们执行代码时,它将把以下两个图形保存为PDF文件 (multi.pdf) 在项目目录中。

一次性将所有打开的Matplotlib图形保存在一个文件中

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程