"보고서에 붙이려고 저장했는데 이미지가 흐릿해요."
지윤이 말했다. 기본 DPI가 낮아서 생기는 문제다.
savefig() 기본 사용법
plt.savefig('chart.png') # 기본 (DPI 100)plt.savefig('chart.png', dpi=150) # 더 선명하게plt.savefig('chart.png', dpi=300) # 인쇄/보고서용
주요 파라미터
| 파라미터 | 설명 | 권장값 |
|---|---|---|
dpi |
해상도 (점/인치) | 화면: 100, 보고서: 150~300 |
bbox_inches |
저장 범위 | 'tight' (여백 자동 조정) |
transparent |
배경 투명 여부 | True (웹/PPT 삽입용) |
format |
파일 포맷 | 확장자로 자동 결정 |
포맷별 특징
| 포맷 | 특징 | 추천 상황 |
|---|---|---|
.png |
비손실 압축, 투명 배경 지원 | 웹, PPT 삽입 |
.jpg |
손실 압축, 파일 작음 | 사진형 이미지 |
.pdf |
벡터 형식, 확대해도 선명 | 논문, 인쇄 |
.svg |
벡터 형식, 웹에서 활용 | 웹, 편집 가능 |
실전 예제
import matplotlib.pyplot as pltimport matplotlibimport platformmatplotlib.rcParams['font.family'] = {'Windows': 'Malgun Gothic', 'Darwin': 'AppleGothic'}.get(platform.system(), 'NanumGothic')matplotlib.rcParams['axes.unicode_minus'] = Falsefig, ax = plt.subplots(figsize=(10, 6))ax.plot([1, 2, 3, 4, 5], [2, 4, 3, 5, 4], color='steelblue', linewidth=2)ax.set_title('월별 지표')# 보고서용 저장 (DPI 300, 여백 자동 조정)plt.savefig('report_chart.png', dpi=300, bbox_inches='tight')# PPT/웹 삽입용 (투명 배경)plt.savefig('slide_chart.png', dpi=150, bbox_inches='tight', transparent=True)# 논문용 PDFplt.savefig('paper_figure.pdf', bbox_inches='tight')plt.show()

"이 세 가지만 알면 어디서든 쓸 수 있어요: dpi=300, bbox_inches='tight', 그리고 용도에 맞는 포맷." 팀장이 정리했다.
지윤은 PART 3을 통해 더 이상 개별 차트만 그리는 게 아니라, 여러 차트를 조합하고, 일관된 스타일로 관리하고, 보고서에 바로 쓸 수 있는 품질로 저장하는 법을 익혔다.