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

Python Matplotlib에서 초고품질 이미지 저장하기: savefig()와 DPI 설정 완벽 가이드

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)

실행 결과

Python Matplotlib에서 초고품질 이미지 저장하기: savefig()와 DPI 설정 완벽 가이드

추가 팁: 형식별 선택 기준

  • EPS / SVG / PDF: 확대해도 깨지지 않는 벡터 형식으로, 학술 논문이나 인쇄물에 적합합니다.

  • PNG: 웹 게시나 프레젠테이션에 적합하며, dpi=300 이상으로 지정하면 인쇄용으로도 충분한 품질을 얻을 수 있습니다.

  • DPI 권장값: 화면 출력은 72~150dpi, 일반 문서는 300dpi, 전문 인쇄는 600~1200dpi 정도가 권장됩니다.

참고로 savefig()는 파일 확장자만 지정해도 자동으로 해당 형식을 인식하므로, format 인수를 생략하고 fig.savefig('myimage.png', dpi=1200)처럼 간결하게 작성할 수도 있습니다.