Matplotlib에서 플롯을 PDF 파일로 저장하는 방법

Suraj Joshi 2023년1월30일
  1. 플롯을 PDF 파일로 저장하는savefig()메소드
  2. PdfPages 클래스의savefig()메소드
Matplotlib에서 플롯을 PDF 파일로 저장하는 방법

Matplotlib에서 생성 된 플롯은savefig()메소드에서 파일 이름의.pdf 확장자를 사용하여 PDF 파일로 간단히 저장할 수 있습니다. 하나의 PDF 파일에 여러 플롯을 저장하기 위해PdfPages 클래스를 사용합니다.

플롯을 PDF 파일로 저장하는savefig()메소드

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")

생성 된 플롯을 현재 작업 디렉토리에서 savefig.pdf를 사용하여 파일을 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()

Matplotlib에서 생성 된 4 개의 Figure를 현재 작업 디렉토리에서 파일 이름이 Save multiple plots as PDF.pdf와 같은 단일 PDF 파일로 저장합니다.

여기서 우리는 각 플롯에 대한 그림을 반환 한 다음PdfPages 클래스의savefig()메소드에 개별 그림을 전달하여 모든 그림을 단일 PDF 파일로 저장합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn