Python의 Matplotlib으로 생성한 그래프를 논문, 인쇄물 등에 사용하려면 일반적인 PNG보다 훨씬 높은 품질로 이미지를 저장해야 하는 경우가 많습니다. 이 글에서는 savefig() 메서드와 DPI 설정, 그리고 EPS 벡터 형식을 활용해 초고품질 이미지를 저장하는 방법을 단계별로 알아봅니다.
고품질 이미지 저장 절차
subplots()메서드를 사용해fig(전체 그림)와ax(축) 변수를 생성합니다. 기본값은 행(nrows)과 열(ncols)이 각각 1입니다.plot()메서드로 원하는 데이터를 그래프에 그립니다.xlabel()과ylabel()을 사용해 X축, Y축 레이블을 추가합니다.최고 품질의 이미지가 필요하다면 .eps(EPS) 같은 벡터 이미지 형식을 사용합니다. 벡터 형식은 확대·축소해도 화질 저하가 없습니다.
DPI(dots per inch) 값을 높이면 래스터 이미지(PNG, JPG 등)의 해상도가 향상됩니다.
savefig()메서드를 호출해 이미지를 로컬 파일로 저장합니다.저장한 그림을 화면에서 바로 확인하려면
plt.show()를 사용합니다.
예제 코드
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
plt.plot([0, 5], [0, 5])
plt.ylabel("Y-axis ")
plt.xlabel("X-axis ")
image_format = 'eps' # 예: .png, .svg 등
image_name = 'myimage.eps'
fig.savefig(image_name, format=image_format, dpi=1200)실행 결과

추가 팁: 형식별 선택 기준
EPS / SVG / PDF: 확대해도 깨지지 않는 벡터 형식으로, 학술 논문이나 인쇄물에 적합합니다.
PNG: 웹 게시나 프레젠테이션에 적합하며,
dpi=300이상으로 지정하면 인쇄용으로도 충분한 품질을 얻을 수 있습니다.DPI 권장값: 화면 출력은 72~150dpi, 일반 문서는 300dpi, 전문 인쇄는 600~1200dpi 정도가 권장됩니다.
참고로 savefig()는 파일 확장자만 지정해도 자동으로 해당 형식을 인식하므로, format 인수를 생략하고 fig.savefig('myimage.png', dpi=1200)처럼 간결하게 작성할 수도 있습니다.