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

  1. 플롯을 PDF 파일로 저장하는savefig()메소드
  2. PdfPages 클래스의savefig()메소드

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 파일로 저장합니다.