Python

[Python] 시각화

beginner-in-coding 2025. 4. 16. 17:05

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