如何在 Matplotlib 中将图另存为 PDF 文件
从 Matplotlib 生成的图可以通过使用 savefig()方法中文件名的.pdf 扩展名简单地保存为 PDF 文件。要将多个图保存在一个 PDF 文件中,我们使用 PdfPages
类。
savefig()
方法将图另存为 PDF 文件
我们可以使用 savefig()
方法将绘图简单地保存为 Matplotlib 中的图像文件。
savefig()
方法的语法:
matplotlib.pyplot.savefig(fname,
dpi=None,
facecolor='w',
edgecolor='w',
orientation='portrait',
papertype=None,
format=None,
transparent=False,
bbox_inches=None,
pad_inches=0.1,
frameon=None,
metadata=None)
参数部分中的 fname
代表文件相对于工作目录的名称和路径。如果我们使用.pdf 作为文件名的扩展名,则该图将另存为 PDF 文件。
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,5,50)
y=np.cos(2 * np.pi * x)
plt.scatter(x, y)
plt.plot(x, y)
plt.title("Plot of cosx")
plt.xlabel("x")
plt.ylabel("cosx")
plt.show()
plt.savefig("Save Plot as PDF file using savefig.pdf")
这会将生成的图以文件名 Save Plot as PDF file using savefig.pdf
保存在当前工作目录中。
PdfPages
类的 savefig()
方法
如果我们希望在一个图中绘制多个图,则可以使用 PdfPages
类的 savefig()
方法。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
x=np.linspace(-3,3,100)
y1=np.sin(x)
y2=np.cos(x)
y3=1/(1+np.exp(-x))
y4=np.exp(x)
def retFig(x, y):
fig = plt.figure()
a= plt.plot(x, y)
return fig
fig1 = retFig(x, y1)
fig2 = retFig(x, y2)
fig3 = retFig(x, y3)
fig4 = retFig(x, y4)
pp = PdfPages('Save multiple plots as PDF.pdf')
pp.savefig(fig1)
pp.savefig(fig2)
pp.savefig(fig3)
pp.savefig(fig4)
pp.close()
这会将 4 个生成的图形保存在 Matplotlib 中的单个 PDF 文件中,文件名为 Save multiple plots as PDF.pdf
。
在这里,我们返回每个图的图形,然后通过将单个图形传递到 PdfPages
类的 savefig()
方法中,将所有图形保存到单个 PDF 文件中。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。