📌 개요
데이터 분석에서 **시각화(Visualization)**는 매우 중요한 과정입니다. 데이터를 시각적으로 표현하면 패턴을 쉽게 이해할 수 있으며, 인사이트를 도출하는 데 도움이 됩니다. Python에서는 대표적으로 Matplotlib과 Seaborn 라이브러리를 활용하여 데이터 시각화를 수행할 수 있습니다.
이번 포스팅에서는 Matplotlib과 Seaborn의 기본적인 시각화 기법을 익히고, 다양한 차트를 생성하는 방법을 실습해보겠습니다.
1️⃣ Matplotlib 소개 및 기본 사용법
Matplotlib은 가장 기본적인 데이터 시각화 라이브러리로, 간단한 그래프부터 복잡한 시각화까지 다양한 형태의 플롯을 생성할 수 있습니다.
🔹 Matplotlib 설치 및 임포트
import matplotlib.pyplot as plt
import numpy as np
🔹 기본 라인 그래프 그리기
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y, label='Sine Wave')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Basic Line Plot with Matplotlib')
plt.legend()
plt.show()
📌 결과:
📌 사용 사례: 라인 그래프는 시간에 따른 변화를 시각화할 때 많이 사용됩니다. 예를 들어, 주가 변동, 기온 변화, 판매량 추이를 분석할 때 유용합니다.
2️⃣ Seaborn 소개 및 기본 사용법
Seaborn은 Matplotlib 기반의 고급 시각화 라이브러리로, 보다 세련된 그래프를 쉽게 만들 수 있도록 도와줍니다.
🔹 Seaborn 설치 및 임포트
import seaborn as sns
import pandas as pd
🔹 샘플 데이터셋 불러오기
import numpy as np
import pandas as pd
# 데이터 생성
np.random.seed(42)
data = {
'total_bill': np.random.normal(20, 8, 100), # 평균 20, 표준편차 8인 정규분포 데이터
'tip': np.random.normal(3, 1, 100), # 평균 3, 표준편차 1
'day': np.random.choice(['Thur', 'Fri', 'Sat', 'Sun'], 100)
}
df = pd.DataFrame(data)
print(df.head())
📌 샘플 데이터 예시
| total_bill | tip | day |
| 18.85 | 2.83 | Thur |
| 20.18 | 2.62 | Fri |
| 17.37 | 2.88 | Sat |
3️⃣ 다양한 데이터 시각화 방법
🔹 히스토그램 (Histogram)
히스토그램은 데이터의 분포를 시각화하는 데 유용합니다.
plt.figure(figsize=(6,4))
sns.histplot(df['total_bill'], bins=20, kde=True, color='royalblue')
plt.title('Histogram of Total Bill')
plt.xlabel('Total Bill')
plt.ylabel('Count')
plt.grid(True)
plt.show()
📌 결과:
📌 사용 사례: 히스토그램은 데이터의 분포를 파악하는 데 유용합니다. 예를 들어, 고객 구매 금액, 학생들의 시험 점수, 상품 가격 분포를 분석할 때 많이 활용됩니다.
🔹 상자 그림 (Boxplot)
Boxplot은 데이터의 중앙값, 사분위수, 이상치를 시각화하는 데 사용됩니다.
plt.figure(figsize=(6,4))
sns.boxplot(x='day', y='total_bill', data=df, palette='Blues')
plt.title('Boxplot of Total Bill by Day')
plt.xlabel('Day')
plt.ylabel('Total Bill')
plt.grid(True)
plt.show()
📌 결과:
📌 사용 사례: 박스플롯은 데이터의 이상치(Outlier)를 탐지하는 데 효과적입니다. 예를 들어, 이상 지출 패턴 탐지, 센서 데이터에서 오류 값 확인, 직원 급여 분포를 분석할 때 유용합니다.
🔹 산점도 (Scatter Plot)
산점도는 두 변수 간의 관계를 시각화하는 데 유용합니다.
plt.figure(figsize=(6,4))
sns.scatterplot(x='total_bill', y='tip', data=df, hue='day', palette='coolwarm')
plt.title('Scatter Plot of Total Bill vs. Tip')
plt.xlabel('Total Bill')
plt.ylabel('Tip')
plt.grid(True)
plt.show()
📌 결과:
📌 사용 사례: 산점도는 두 변수 간의 상관관계를 분석할 때 사용됩니다. 예를 들어, 광고비와 매출의 관계, 체중과 신장의 관계, 상품 가격과 판매량 간의 관계를 분석할 때 활용됩니다.
📌 마무리
이번 포스팅에서는 Matplotlib과 Seaborn을 활용한 다양한 데이터 시각화 방법을 살펴보았습니다. 데이터 분석 과정에서 시각화는 필수적인 요소이므로, 다양한 데이터셋을 활용하여 직접 그래프를 그려보는 것이 중요합니다.
다음 포스팅에서는 EDA(탐색적 데이터 분석) 실습 프로젝트를 다뤄보겠습니다! 🚀
'Daily Data Log' 카테고리의 다른 글
| [Day 6] 머신러닝 모델 최적화 - 프리미어리그 경기 성과 예측 개선하기 (0) | 2025.03.11 |
|---|---|
| [Day 5] 머신러닝을 활용한 프리미어리그 선수 경기당 득점 예측 (1) | 2025.03.10 |
| [Day 4] 탐색적 데이터 분석(EDA) 실습 프로젝트 - 24/25 PL 선수 통계 (0) | 2025.03.09 |
| [Day 2] SQL을 활용한 데이터 추출 및 가공 (0) | 2025.03.07 |
| [Day 1] Pandas로 데이터 핸들링 기본기 다지기 (0) | 2025.03.06 |