1. 막대 그래프 (Bar Chart)
사용 목적: 범주형 데이터의 수량 비교
import matplotlib.pyplot as plt
categories = ['A', 'B', 'C']
values = [10, 20, 15]
plt.bar(categories, values)
plt.title("카테고리별 값")
plt.xlabel("카테고리")
plt.ylabel("값")
plt.show()
- plt.bar() → 수직
- plt.barh() → 수평
📈 2. 선 그래프 (Line Plot)
사용 목적: 시간에 따른 변화, 추세 분석
x = [1, 2, 3, 4, 5]
y = [10, 12, 8, 15, 20]
plt.plot(x, y, marker='o')
plt.title("시간에 따른 변화")
plt.xlabel("시간")
plt.ylabel("값")
plt.show()
📉 3. 히스토그램 (Histogram)
사용 목적: 데이터 분포 확인 (ex. 몸무게, 키)
plt.hist(data['height (cm)'], bins=10)
plt.title("키 분포")
plt.xlabel("키(cm)")
plt.ylabel("빈도수")
plt.show()
- bins는 구간 수 (클수록 세분화)
🎯 4. 박스플롯 (Box Plot)
사용 목적: 이상치, 중앙값, 사분위수 확인
plt.boxplot(data['weight (kg)'])
plt.title("몸무게 분포")
plt.ylabel("몸무게(kg)")
plt.show()
🟠 5. 산점도 (Scatter Plot)
사용 목적: 두 변수 사이 관계 확인
plt.scatter(data['height (cm)'], data['weight (kg)'])
plt.title("키 vs 몸무게")
plt.xlabel("키(cm)")
plt.ylabel("몸무게(kg)")
plt.show()
🧁 6. 파이차트 (Pie Chart)
사용 목적: 비율 시각화
labels = ['남성', '여성'] sizes = [60, 40]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title("성별 비율")
plt.show()
🌐 7. 히트맵 (Heatmap) - 상관관계 시각화
사용 목적: 숫자 간 관계 (correlation) 확인
import seaborn as sns
corr = data.corr(numeric_only=True)
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.title("상관관계 히트맵")
plt.show()
🎨 8. 여러 그래프 한 번에
subplot / gridspec
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
axes[0].hist(data['age'])
axes[0].set_title("나이 분포")
axes[1].bar(['A', 'B', 'C'], [10, 20, 15])
axes[1].set_title("카테고리별 값")
plt.tight_layout()
plt.show()
✨ 추가 라이브러리
라이브러리특징
Matplotlib | 기본 시각화 도구, 커스터마이징 자유로움 |
Seaborn | 통계 기반 시각화, 예쁘고 간단함 |
Plotly | 인터랙티브 그래프 만들기 (줌, 툴팁 등) |
Altair | 직관적인 문법, 선언형 스타일 |
Pandas 자체 plot() | 빠른 기본 시각화 가능 |
- 카테고리별 수 → bar chart
- 수치 간 관계 → scatter + heatmap
- 시간 흐름 → line plot
- 이상치 탐지 → boxplot
'Python' 카테고리의 다른 글
[Python] 입력과 출력 (0) | 2025.04.04 |
---|---|
[Python] 파이썬 시작 전 (0) | 2025.04.04 |