
파이썬으로 데이터를 다루는 사람이라면 반드시 익혀야 할 시각화 도구가 있습니다. 바로 Matplotlib입니다. 이 글에서는 Matplotlib의 기본 사용법부터 다양한 그래프 유형, 실전 시각화 기법까지 체계적으로 안내합니다. 복잡한 데이터도 직관적으로 표현할 수 있도록 도와주는 Matplotlib의 진가를 직접 느껴보세요.
1. Matplotlib이란?
Matplotlib은 파이썬의 대표적인 시각화 라이브러리입니다. 특히 matplotlib.pyplot 모듈을 사용하면 MATLAB 스타일로 간단한 코드로도 다양한 그래프를 그릴 수 있습니다. 선 그래프, 막대 그래프, 산점도, 파이 차트 등 거의 모든 시각화를 지원하며, Pandas 및 NumPy와도 자연스럽게 연동됩니다.
설치 방법
pip install matplotlib
2. 기본 그래프 그리기
기본 선 그래프 (Line Plot)
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y)
plt.title("기본 선 그래프")
plt.xlabel("X축")
plt.ylabel("Y축")
plt.grid(True)
plt.show()
출력 예시
직선 형태의 데이터 시각화를 통해 변화 추이를 쉽게 파악할 수 있습니다.
3. 다양한 그래프 유형과 비교
| 그래프 종류 | 사용 함수 | 주요 용도 |
|---|---|---|
| 선 그래프 | plot() | 시간 또는 연속적인 데이터 추세 확인 |
| 막대 그래프 | bar() | 범주형 데이터 비교 |
| 산점도 | scatter() | 두 변수 간 관계 시각화 |
| 히스토그램 | hist() | 데이터 분포 파악 |
| 파이 차트 | pie() | 비율 시각화 |
4. 실제 예제: 막대 그래프
labels = ['Python', 'Java', 'C++', 'Go']
values = [45, 30, 15, 10]
plt.bar(labels, values, color='skyblue')
plt.title("언어별 선호도")
plt.xlabel("프로그래밍 언어")
plt.ylabel("비율 (%)")
plt.show()
막대 그래프는 다양한 항목의 상대적 크기를 시각적으로 비교할 때 유용합니다.
5. 커스터마이징 요소
- 색상 지정:
color='red' - 선 두께:
linewidth=2.5 - 마커 추가:
marker='o' - 범례 추가:
plt.legend(['label']) - 눈금 회전:
plt.xticks(rotation=45)
6. 여러 그래프 함께 그리기
x = [1, 2, 3, 4]
y1 = [10, 20, 25, 30]
y2 = [40, 30, 20, 10]
plt.plot(x, y1, label="상승")
plt.plot(x, y2, label="하락")
plt.legend()
plt.title("복수 그래프")
plt.show()
동일한 그래프에 두 개 이상의 선을 표현하여 데이터 비교가 용이합니다.
7. 서브플롯 (subplot) 활용
plt.subplot(1, 2, 1)
plt.plot([1, 2, 3], [1, 4, 9])
plt.title("그래프 1")
plt.subplot(1, 2, 2)
plt.plot([1, 2, 3], [9, 4, 1])
plt.title("그래프 2")
plt.tight_layout()
plt.show()
하나의 화면에 여러 그래프를 배치할 수 있어 대시보드 형태로 구성할 때 유리합니다.
8. 한글 폰트 설정 (윈도우 기준)
import matplotlib.pyplot as plt
from matplotlib import rc
plt.rcParams['font.family'] = 'Malgun Gothic' # Windows
plt.rcParams['axes.unicode_minus'] = False # 마이너스 기호 깨짐 방지
기본 설정으로는 한글이 깨질 수 있으므로 한글 폰트를 명시적으로 설정해주는 것이 좋습니다.
9. Matplotlib 주요 함수 요약
| 기능 | 함수 | 설명 |
|---|---|---|
| 선 그래프 | plot() | 기본 선형 데이터 시각화 |
| 막대 그래프 | bar() | 카테고리 데이터 시각화 |
| 산점도 | scatter() | 상관관계 시각화 |
| 히스토그램 | hist() | 분포 시각화 |
| 범례 | legend() | 그래프 항목 설명 |
| 제목/축 | title(), xlabel(), ylabel() | 그래프 라벨 설정 |
10. 결론
Matplotlib은 파이썬 기반 데이터 시각화의 시작점이라 할 수 있습니다. 기본 기능만 잘 활용해도 대다수의 데이터 표현은 충분하며, 복잡한 커스터마이징도 가능하여 전문가급 시각화도 구현할 수 있습니다. 시각화는 데이터를 해석하는 또 하나의 언어입니다. 코드를 통해 데이터를 설득력 있게 전달하는 능력을 Matplotlib을 통해 기르세요.
참고 자료
- Matplotlib 공식 문서: https://matplotlib.org/stable/index.html
- Python Graph Gallery: https://www.python-graph-gallery.com/
- Real Python 시각화 튜토리얼
'Artificial Intelligence > 60. Python' 카테고리의 다른 글
| [PYTHON] Flask 완벽 가이드 : 간단하고 강력한 파이썬 웹 프레임워크 (0) | 2025.07.20 |
|---|---|
| [PYTHON] Django 완벽 가이드 : 파이썬 웹 개발의 정석 (0) | 2025.07.20 |
| [PYTHON] Pandas 완벽 가이드 : 데이터 분석의 핵심 도구 (0) | 2025.07.20 |
| [PYTHON] Numpy 완벽 가이드 : 배열부터 고속 연산까지 (0) | 2025.07.20 |
| [PYTHON] 파이썬 환경설정 완벽 가이드 : 개발을 위한 최적 세팅 (0) | 2025.07.20 |