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

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