Matplotlib
2025. 11. 25. 20:10ㆍAI활용 멀티모달&MCP 과정
파이썬 Matplotlib 완전 정복! 초보자도 30분 만에 예쁜 그래프 그리기 📊

1. Matplotlib이란? 왜 써야 할까?
안녕하세요~! 오늘은 파이썬에서 데이터를 눈으로 바로 확인할 수 있게 해주는 최고의 라이브러리, Matplotlib을 배워볼게요!
Matplotlib은 이런 그래프들을 그릴 수 있어요:
- 선 그래프 → 시간에 따른 변화, 추세 보기
- 막대 그래프 → 카테고리별 비교
- 산점도 → 두 변수 사이 관계
- 히스토그램 → 데이터 분포 확인
- 파이 차트 → 비율 표현
- 심지어 3D 그래프까지!
데이터 분석, 머신러닝, 보고서 작성할 때 거의 99% 쓰인다고 봐도 돼요~ 😄
2. 설치하기 & 한글 폰트 설정 (이거 안 하면 한글 깨져요!)
먼저 설치부터 해요!
pip install matplotlib
주의! Matplotlib은 기본적으로 한글 폰트를 모르기 때문에 한글이 깨져요.
구글 콜랩이나 리눅스 환경이라면 아래 코드를 맨 처음에 꼭 실행해 주세요!
# 한글 폰트 설치 (콜랩/우분투 기준)
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm -rf ~/.cache/matplotlib
# 폰트 설정
import matplotlib.pyplot as plt
plt.rc('font', family='NanumBarunGothic')
설치 후에는 런타임을 완전히 재시작(또는 커널 재시작)해야 반영돼요!


3. Matplotlib 기본 구조 (도화지 개념 이해하기)
- Figure: 전체 도화지 (캔버스)
- Axes: 하나의 그래프 영역 (보통 x축, y축이 있는 그 공간)
- Axis: x축, y축 자체
보통은 plt.plot()만 써도 되지만, 복잡한 그래프를 그릴 때는 fig, ax = plt.subplots() 방식이 더 편해요!

4. 선 그래프 그리기 (plt.plot)
가장 기본적인 예시부터 시작해 볼게요!
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4]) # y값만 주면 x는 0,1,2,3 자동 생성
plt.show()
여러 개 선 동시에 그리기
import numpy as np
x = np.arange(0, 10)
plt.plot(x, x, label='y=x')
plt.plot(x, x**2, label='y=x²')
plt.plot(x, x**3, label='y=x³')
plt.legend() # 범례 자동 생성
plt.show()

5. 예쁘게 꾸미기 – 색상, 마커, 범례, 제목 넣기
plt.figure(figsize=(10, 6)) # 그래프 크기 (인치 단위)
plt.plot(x,
x,
color='deepskyblue',
marker='o',
linestyle='-.',
linewidth=2,
label='y=x')
plt.plot(x,
x**2,
color='deeppink',
marker='^',
linestyle='--',
label='y=x²')
plt.title('예쁜 그래프 만들기!', fontsize=25, pad=20)
plt.xlabel('X축', fontsize=16)
plt.ylabel('Y축', fontsize=16)
plt.legend(fontsize=14, loc='upper left')
plt.grid(True, alpha=0.3) # 격자 추가
plt.xlim(0, 10)
plt.ylim(0, 100)
plt.show()
6. 막대 그래프 그리기 (세로 bar / 가로 barh)
카테고리별 비교할 때 최고예요!
x = ['파이썬', '웹개발', '데이터분석', '머신러닝', '딥러닝', '컴퓨터비전']
y = [95, 70, 75, 60, 50, 30]
plt.figure(figsize=(10, 6))
plt.bar(x, y, color='skyblue', alpha=0.8, edgecolor='navy', linewidth=1)
plt.title('AI 캠프 수강생 성적표', fontsize=22)
plt.ylabel('평균 점수')
plt.ylim(0, 100)
# x축 라벨 기울이기
plt.xticks(rotation=15)
plt.show()
가로 막대 그래프 (라벨이 길 때 유용!)
plt.barh(x, y, color='lightcoral', alpha=0.7)
plt.xlabel('평균 점수')
plt.title('가로 막대 그래프')
plt.show()


7. 자주 쓰는 다른 그래프들
- 산점도:
plt.scatter(x, y) - 히스토그램:
plt.hist(data, bins=30) - 파이 차트:
plt.pie(sizes, labels=labels, autopct='%.1f%%')
8. 그래프를 이미지로 저장하기
보고서나 발표 자료에 넣고 싶을 때!
plt.savefig('내_예쁜_그래프.png', dpi=300, bbox_inches='tight')
plt.show()
주의! savefig()를 show()보다 먼저 써야 빈 이미지가 저장되지 않아요!
✨ 한눈에 보는 Matplotlib 전체 요약
- 설치: pip install matplotlib + 한글 폰트(Nanum) 설정 필수!
- 기본: plt.plot() → 선 그래프 / plt.bar() → 막대 / plt.scatter() → 산점도
- 꾸미기: title, xlabel, ylabel, legend, grid, color, marker, linestyle 자유자재로!
- 저장: plt.savefig()를 plt.show()보다 먼저!
- 데이터 분석할 때 90% 이상은 Matplotlib으로 충분히 예쁘게 표현 가능해요 💪
이제 여러분도 Matplotlib 마스터! 오늘 배운 걸로 바로 예쁜 그래프 그려보세요~
다음 시간에는 Seaborn으로 더 예쁘게 꾸며보는 시간 가져볼게요! 😊
'AI활용 멀티모달&MCP 과정' 카테고리의 다른 글
| 소상공인 상가(상권)정보 데이터로 서울 지도 시각화하기 (0) | 2025.11.28 |
|---|---|
| 서울시 공공자전거 실시간 대여소 정보 API 호출 (0) | 2025.11.27 |
| Online Retail, Kaggle (0) | 2025.11.26 |
| NumPy (0) | 2025.11.22 |
| Numpy & Module (0) | 2025.11.20 |