Ch.1 Python 라이브러리 15선
matplotlib — 차트 그리기
숫자만 보면 머리가 아픈데 그래프로 보면 한눈에 보입니다
매출 데이터를 엑셀표로 받았는데 숫자가 100개가 넘습니다. 상사가 '한눈에 보이게 정리해줘'라고 합니다.
Python으로 전문가 수준의 차트를 만들 수 있을까?
matplotlib 하나면 됩니다. 3줄이면 막대 차트, 5줄이면 매출 추이 그래프가 완성됩니다.
핵심 내용
matplotlib는 Python에서 차트와 그래프를 그리는 라이브러리입니다. 막대, 선, 파이, 산점도 — 거의 모든 종류의 시각화가 가능합니다.
한 줄 요약: 숫자 데이터를 그림으로 바꿔주는 도구 실생활 비유: 엑셀의 '차트 삽입' 버튼을 Python 코드로 누르는 것과 같습니다.
데이터를 눈으로 확인하고 싶을 때, 보고서에 넣을 깔끔한 그래프가 필요할 때 씁니다.
수동으로 하면: 엑셀 열고 → 데이터 선택 → 차트 삽입 → 서식 조정 → 매번 반복
matplotlib 쓰면: 코드 3줄 → 차트 완성 → 데이터만 바꾸면 자동 업데이트
설치는 pip 한 줄이면 끝납니다.
pip install matplotlibimport matplotlib.pyplot as plt
plt.bar(["1월", "2월", "3월"], [100, 150, 130])
plt.show()실행하면 막대 차트 창이 뜹니다. 1월 100, 2월 150, 3월 130 — 세 개의 막대가 나란히 나타납니다.
AI에게 차트를 만들어 달라고 할 때, 데이터 + 차트 종류 + 저장 형식을 명확히 말하세요.
좋은 프롬프트 예시: "1월~6월 매출 데이터를 선 그래프로 그리고, 제목은 '2025 상반기 매출 추이', 파일로 저장해줘"
프롬프트 변형: "같은 데이터를 막대 그래프와 선 그래프를 나란히 비교하는 서브플롯으로 만들어줘"
import matplotlib.pyplot as plt
months = ["1월", "2월", "3월", "4월", "5월", "6월"]
sales = [120, 150, 130, 170, 160, 200]
plt.plot(months, sales, marker="o")
plt.title("2025 상반기 매출 추이")
plt.savefig("sales.png")
print("sales.png 저장 완료!")미니 프로젝트: 부서별 매출 비교 대시보드 막대 그래프 + 수치 레이블까지 붙여 봅시다.
import matplotlib.pyplot as plt
depts = ["영업팀", "마케팅", "개발팀", "디자인", "CS팀"]
sales = [320, 180, 250, 90, 150]
colors = ["#4CAF50", "#2196F3", "#FF9800", "#9C27B0", "#F44336"]
plt.figure(figsize=(8, 5))
bars = plt.bar(depts, sales, color=colors)
for bar, val in zip(bars, sales):
plt.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 5,
f"{val}만원", ha="center", fontsize=11)
plt.title("2025년 1분기 부서별 매출", fontsize=14)
plt.ylabel("매출 (만원)")
plt.savefig("dept_sales.png", dpi=150, bbox_inches="tight")
print("dept_sales.png 저장 완료!")실행 방법: 파일을 dept_dashboard.py로 저장 → 터미널에서 python dept_dashboard.py 실행 → dept_sales.png 파일이 생성됩니다.
Matplotlib에서 하나의 figure에 여러 차트를 배치하는 함수는?
핵심 용어
매출 추이 분석
월별 매출을 선 그래프로 한눈에 비교
설문조사 결과
응답 비율을 파이 차트로 시각화
성적 비교
과목별 점수를 막대 그래프로 정리
핵심 정리
- 1matplotlib는 Python의 대표 시각화 라이브러리 — 막대·선·파이 차트를 코드로 그린다
- 2plt.bar(), plt.plot(), plt.pie()로 차트 종류를 선택한다
- 3plt.savefig()로 이미지 파일로 저장 — 보고서에 바로 활용 가능
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작