Matplotlib - 1. 소개와 기초
2025. 1. 21. 11:24ㆍ프로그래밍 (확장)/Python-Matplotlib
1.1 Matplotlib 개요
Matplotlib이란?
Matplotlib은 Python에서 데이터를 시각화하기 위한 가장 널리 사용되는 라이브러리 중 하나입니다. 이 라이브러리를 사용하면 데이터를 선, 막대, 산점도, 히스토그램, 파이 차트 등 다양한 그래프로 표현할 수 있습니다. Matplotlib은 높은 커스터마이징 기능을 제공하여 데이터를 효과적으로 전달하는 데 매우 유용합니다.
설치 방법
Matplotlib은 Python 패키지 관리자인 pip를 사용하여 설치할 수 있습니다. 설치하기 전에 가상환경을 생성하고 활성화하는 것이 권장됩니다:
# 가상환경 생성 및 활성화 (권장)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# matplotlib 설치
pip install matplotlib
Jupyter Notebook 사용자는 그래프를 노트북 내에서 바로 보기 위해 아래의 매직 명령어를 실행해야 합니다:
%matplotlib inline # 정적 그래프를 노트북 셀 안에 표시
%matplotlib notebook # 대화형(인터랙티브) 그래프를 노트북 셀 안에 표시
기본 구성 요소
Matplotlib은 아래의 주요 구성 요소로 나뉩니다:
- Figure:
- 전체 그래프가 그려지는 "캔버스"입니다.
- 모든 그래프 요소(Axes, 제목, 범례 등)가 이 안에 포함됩니다.
- Axes:
- 실제 그래프가 그려지는 영역입니다.
- 하나의 Figure 안에 여러 개의 Axes를 포함할 수 있습니다.
- x축, y축, z축(3D 그래프의 경우)을 포함합니다.
- Plot:
- 데이터가 시각적으로 표현되는 그래프 자체입니다.
- 선, 막대, 점 등이 Plot의 예입니다.
1.2 Matplotlib의 두 가지 인터페이스
Matplotlib은 두 가지 방식으로 사용할 수 있습니다:
1. MATLAB 스타일 인터페이스 (pyplot)
- Matplotlib의 pyplot 모듈을 사용하여 MATLAB과 유사한 방식으로 간단히 그래프를 생성합니다.
- 코드가 짧고 간단하여 초보자에게 적합합니다.
예시:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6]) # x값: [1, 2, 3], y값: [4, 5, 6]
plt.title("Simple Plot") # 제목 추가
plt.xlabel("X-axis") # x축 레이블 추가
plt.ylabel("Y-axis") # y축 레이블 추가
plt.show() # 그래프 표시
2. 객체 지향 인터페이스 (OOP)
- Figure와 Axes 객체를 명시적으로 생성하여 그래프를 제어합니다.
- 복잡한 그래프를 생성하거나 커스터마이징이 필요할 때 적합합니다.
예시:
import matplotlib.pyplot as plt
# Figure와 Axes 생성
fig, ax = plt.subplots()
# Figure는 그래프 전체 캔버스, Axes는 실제 그래프를 그리는 영역입니다.
# 이 방식은 Figure와 Axes를 명시적으로 관리할 수 있어 복잡한 그래프 커스터마이징에 유리합니다.
ax.plot([1, 2, 3], [4, 5, 6]) # Axes 객체에 데이터 추가
ax.set_title("Simple Plot") # 제목 추가
ax.set_xlabel("X-axis") # x축 레이블 추가
ax.set_ylabel("Y-axis") # y축 레이블 추가
plt.show()
두 방식의 비교
특징 | MATLAB 스타일 (pyplot) | 객체 지향 인터페이스 (OOP) |
사용 난이도 | 간단, 초보자에게 적합 | 약간 복잡, 고급 사용자에게 적합 |
커스터마이징 | 상대적으로 덜 유연함 | 유연하고 강력한 커스터마이징 가능 |
권장 사용 시기 | 간단한 그래프를 빠르게 생성할 때 | 복잡한 그래프나 여러 축을 사용할 때 |
1.3 첫 번째 그래프 그리기
기본 선 그래프 만들기
Matplotlib을 사용하여 간단한 선 그래프를 그려봅시다:
import matplotlib.pyplot as plt
# 데이터 설정
x = [1, 2, 3]
y = [4, 5, 6]
# 그래프 생성
plt.plot(x, y)
# 그래프 표시
plt.show()
출력:
- x축은 [1, 2, 3], y축은 [4, 5, 6]으로 구성된 선 그래프가 나타납니다.
그래프 저장하기
생성된 그래프를 파일로 저장하려면 plt.savefig()를 사용합니다. 다양한 포맷(PNG, PDF, SVG 등)으로 저장할 수 있습니다:
plt.plot(x, y)
plt.title("Saved Graph")
plt.savefig("graph.png",
dpi=300, # 해상도 설정
format="png", # 파일 형식
bbox_inches='tight', # 여백 자동 조정
transparent=True # 배경 투명하게 설정
)
plt.show()
Tip: savefig는 show 이전에 호출해야 정상적으로 저장됩니다.
이 단계에서는 Matplotlib의 기본적인 설치, 구성 요소, 그리고 두 가지 인터페이스와 첫 번째 그래프 그리기까지 다뤘습니다. 다음 단계에서는 그래프 요소와 다양한 그래프 유형을 학습합니다.
'프로그래밍 (확장) > Python-Matplotlib' 카테고리의 다른 글
Matplotlib - 5. 데이터와 상호작용 (0) | 2025.01.21 |
---|---|
Matplotlib - 4. 고급 사용법 (0) | 2025.01.21 |
Matplotlib - 3. 다양한 그래프 유형 (0) | 2025.01.21 |
Matplotlib - 2. 그래프 요소 다루기 (0) | 2025.01.21 |
Matplotlib 기본 사용법 (0) | 2024.07.30 |