iBetter Books
수정

"보고서에 붙이려고 저장했는데 이미지가 흐릿해요."

지윤이 말했다. 기본 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을 통해 더 이상 개별 차트만 그리는 게 아니라, 여러 차트를 조합하고, 일관된 스타일로 관리하고, 보고서에 바로 쓸 수 있는 품질로 저장하는 법을 익혔다.