Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Matplotlib로 3D 플롯을 PDF 파일로 저장하는 방법

Python에서 3D 플롯(3차원 그래프)을 PDF 파일로 저장하려면 Matplotlib의 savefig() 메서드를 활용하면 됩니다. PDF는 벡터 기반 형식이기 때문에 확대하거나 인쇄해도 화질 저하 없이 선명한 품질을 유지할 수 있다는 장점이 있습니다. 아래 단계를 따라 하면 손쉽게 구현할 수 있습니다.

구현 단계

  • figure.figsizefigure.autolayout 설정으로 그림 크기를 지정하고, 서브플롯 사이 및 주변의 여백(padding)을 자동으로 조정합니다.

  • plt.figure()로 새 figure를 생성하거나 기존 figure를 활성화합니다.

  • add_subplot()projection='3d' 옵션을 지정하여 3D 축(ax)을 figure에 추가합니다.

  • numpy의 mgrid를 사용해 u, v, x, y, z 데이터 포인트를 생성합니다.

  • plot_wireframe() 메서드로 3D 와이어프레임을 그립니다.

  • set_title() 메서드로 플롯의 제목을 설정합니다.

  • savefig() 메서드를 호출해 현재 figure를 PDF 파일로 저장합니다.

예제 코드

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

u, v = np.mgrid[0:2 * np.pi:30j, 0:np.pi:20j]
x = np.cos(u) * np.sin(v)
y = np.sin(u) * np.sin(v)
z = np.cos(v)

ax.plot_wireframe(x, y, z, color="red")

ax.set_title("Sphere")

plt.savefig("test.pdf")

plt.show()

실행 결과

위 코드를 실행하면 다음과 같은 빨간색 구(Sphere) 형태의 3D 와이어프레임이 화면에 출력됩니다.

Python Matplotlib로 3D 플롯을 PDF 파일로 저장하는 방법

동시에 프로젝트 디렉터리에 test.pdf라는 이름의 PDF 파일이 생성되며, 이 3D 플롯 이미지가 해당 파일 안에 저장됩니다. 참고로 savefig()는 PNG, SVG, EPS 등 다양한 형식도 지원하므로, 확장자만 바꾸면 원하는 출력 형식으로 손쉽게 변경할 수 있습니다.