Matplotlib

2025. 11. 25. 20:10AI활용 멀티모달&MCP 과정

 

 

파이썬 Matplotlib 완전 정복! 초보자도 30분 만에 예쁜 그래프 그리기 📊

matplotlib사이트

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() 방식이 더 편해요!

다양한 plt그래프

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()
matplotlib를 이용한 그래프

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()

 

세로 (bar & 가로 barh)

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으로 더 예쁘게 꾸며보는 시간 가져볼게요! 😊