본문 바로가기
Artificial Intelligence/60. Python

[PYTHON] Matplotlib 완벽 가이드 : 파이썬 시각화의 시작과 끝

by Papa Martino V 2025. 7. 20.
728x90

파이썬 시각화의 시작과 끝
[PYTHON] Matplotlib

 

파이썬으로 데이터를 다루는 사람이라면 반드시 익혀야 할 시각화 도구가 있습니다. 바로 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을 통해 기르세요.


참고 자료

728x90