要一次将多个图形保存在一个 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)输出结果
执行后,它将在项目目录中创建一个 PDF“multi.pdf”,并将以下两个图像保存在该文件中。