Matplotlib으로 생성한 그래프나 이미지의 품질이 만족스럽지 않다면, DPI(Dots Per Inch, 인치당 도트 수) 값을 높여 해상도를 개선할 수 있습니다. 일반적으로 600 이상의 DPI 값을 권장하며, 논문이나 출판물용 이미지라면 PDF 또는 .eps 같은 벡터 기반 형식으로 저장하는 것이 가장 좋습니다.
구현 단계
- 그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- np.array를 사용하여 2차원 데이터 래스터(raster)를 생성합니다.
- imshow() 함수를 사용해 데이터를 2D 정규 래스터 형태의 이미지로 표시합니다.
- savefig() 함수에 dpi=1200 옵션과 .eps 형식을 지정하여 현재 이미지를 고품질로 저장합니다.
- show() 메서드를 호출하여 그림을 화면에 출력합니다.
예제 코드
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.array(
[[0.1, 0.7, 0.6, 0.3],
[0.2, 0.6, 0.5, 0.2],
[0.8, 0.3, 0.80, 0.01],
[0.3, 0.4, 0.2, 0.1]]
)
plt.imshow(data, interpolation="nearest", cmap="RdYlGn_r")
plt.savefig("myimage.eps", dpi=1200)
plt.show()실행 결과

추가 팁
DPI 값을 높이면 파일 용량이 커질 수 있으므로, 용도에 맞게 적절히 조절하는 것이 좋습니다. 웹 게시용이라면 150~300 DPI로 충분하고, 인쇄물이나 학술 논문용이라면 600~1200 DPI를 권장합니다. 또한 .eps 대신 .pdf나 .svg 형식을 사용하면 확대·축소 시에도 선명도가 유지되는 벡터 이미지의 장점을 그대로 누릴 수 있습니다.