迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何在 Matplotlib 中将图另存为 PDF 文件

作者:迹忆客 最近更新:2023/03/17 浏览次数:

从 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 文件中。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便