1

我想使用 python 在 pdf 文件的一页上保存多个 (6) 个图。目前,我将每个情节都保存在新页面上。

pdf = matplotlib.backends.backend_pdf.PdfPages("output.pdf")
for fig in plots:
    pdf.savefig(plots[fig])
pdf.close()

我想要得到的结果是,前 6 个图在第 1 页,接下来的 6 个在第 2 页,依此类推。有人知道如何实现这一点吗?

先感谢您!

4

1 回答 1

1

要在一页pdf上保存多个绘图,您可以subplot这样使用:

from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
import numpy as np
import math
  
# Get the angles from 0 to 2 pie (360 degree) in narray object
X = np.arange(0, math.pi*2, 0.05)
  
# Using built-in trigonometric function we can directly plot
# the given cosine wave for the given angles
Y1 = np.sin(X)
Y2 = np.cos(X)
Y3 = np.tan(X)
Y4 = np.tanh(X)
  
# Initialise the subplot function using number of rows and columns
figure, axis = plt.subplots(2, 2)
  
# For Sine Function
axis[0, 0].plot(X, Y1)
axis[0, 0].set_title("Sine Function")
  
# For Cosine Function
axis[0, 1].plot(X, Y2)
axis[0, 1].set_title("Cosine Function")
  
# For Tangent Function
axis[1, 0].plot(X, Y3)
axis[1, 0].set_title("Tangent Function")
  
# For Tanh Function
axis[1, 1].plot(X, Y4)
axis[1, 1].set_title("Tanh Function")


pp = PdfPages('onPage.pdf')
plt.savefig(pp, format='pdf')
pp.close()

输出:

在此处输入图像描述

于 2021-08-13T09:36:41.930 回答