首页 > 解决方案 > 将重叠图添加到 pdf 多页

问题描述

我想将重叠图添加到具有数据的 pdf 页面的一个子图中:x1x2、等。到目前为止,这是我当前的状态,但在 pdf 中显示子图还不能清楚地工作y1y2

import numpy as np
from matplotlib.backends.backend_pdf import PdfPages

mp = PdfPages('multipage.pdf')

plt.grid()
plt.scatter(x1,y1)
plt.step([0,0],[-5,5], linewidth = 3,color ='orange')
plt.step([50,50],[45,55], linewidth = 3,color ='orange')
plt.step([100,100],[95,105], linewidth = 3,color ='orange')
plt.xlabel('x')
plt.ylabel('y')

fig = plt.figure()
ax1 = fig.add_subplot(211)

plt.show()

plt.grid()
plt.scatter(x2,y2)
plt.step([0,0],[-5,5], linewidth = 3,color ='orange')
plt.step([50,50],[45,55], linewidth = 3,color ='orange')
plt.step([100,100],[95,105], linewidth = 3,color ='orange')
plt.xlabel('x')
plt.ylabel('y')

fig = plt.figure()
ax2=fig.add_subplot(212)

plt.show()

mp.savefig(fig)

mp.close()

标签: pythonmatplotlibpdf

解决方案


我不确定这是否是您正在寻找的,但也许它会提供一些帮助。这是对您评论中引用的示例的改编PdfPages


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

x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)

fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 1].plot(x, y, 'tab:orange')
axs[1, 0].plot(x, -y, 'tab:green')
axs[1, 1].plot(x, -y, 'tab:red')

mp = PdfPages('multipage.pdf')

mp.savefig(fig)
mp.close()

推荐阅读