在matplotlib中将多个图形保存为一个PDF文件

在matplotlib中将多个图形保存为一个PDF文件

要一次将多个图形保存到一个PDF文件中,可以按照以下步骤操作:

步骤

  • 设置图形大小并调整子图之间和周围的间距。

  • 创建一个新图形 (fig1) 或使用 figure() 方法激活现有图形。

  • 使用 plot() 方法画第一条线。

  • 创建另一个图形 ( fig2 ) 或使用 figure() 方法激活现有图形。

  • 使用 plot() 方法画第二条线。

  • 初始化一个变量 filename ,以创建PDF文件。

  • 创建一个用户定义的函数 save_multi_image() ,以将多个图像保存到一个PDF文件中。

  • 使用文件名调用 save_multi_image() 函数。

  • 创建一个新的 PdfPages 对象。

  • 获取打开图形的数量。

  • 迭代打开的图形并将它们保存到文件中。

  • 关闭创建的PDF对象。

示例

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

plt.rcParams["figure.figsize"] = [7.00, 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)

输出

在matplotlib中将多个图形保存为一个PDF文件

执行后,它会在项目目录中创建一个名为 “multi.pdf” 的PDF文件,并将下面两张图片保存在该文件中。

在matplotlib中将多个图形保存为一个PDF文件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程