데이터 시각화는 데이터를 시각적으로 표현하여 쉽게 이해하고 분석할 수 있도록 도와주는 중요한 기술입니다.
파이썬에는 Matplotlib과 Seaborn 같은 강력한 시각화 라이브러리가 있어, 다양한 그래프와 시각적 요소로 데이터를 표현할 수 있습니다.
이번 글에서는 Matplotlib과 Seaborn의 기본적인 사용법을 예제를 통해 소개합니다.
1. Matplotlib 소개
Matplotlib
은 파이썬에서 가장 널리 사용되는 데이터 시각화 라이브러리로, 다양한 그래프와 차트를 손쉽게 생성할 수 있습니다. pip install matplotlib
명령어를 통해 설치할 수 있습니다.
Matplotlib 기본 사용법
Matplotlib에서 pyplot
모듈을 사용해 그래프를 그릴 수 있습니다.
예제 1: Matplotlib로 선 그래프 그리기
import matplotlib.pyplot as plt
# 데이터 준비
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
# 그래프 생성
plt.plot(x, y)
plt.title("선 그래프 예제")
plt.xlabel("X 축")
plt.ylabel("Y 축")
plt.show()
위 코드에서 plt.plot()
함수를 사용해 선 그래프를 그리고, title
, xlabel
, ylabel
로 그래프에 제목과 축 이름을 설정합니다.
예제 2: Matplotlib로 막대 그래프 그리기
import matplotlib.pyplot as plt
# 데이터 준비
categories = ["A", "B", "C", "D"]
values = [10, 20, 15, 25]
# 그래프 생성
plt.bar(categories, values, color="skyblue")
plt.title("막대 그래프 예제")
plt.xlabel("카테고리")
plt.ylabel("값")
plt.show()
plt.bar()
함수를 사용하여 카테고리별 값을 표시하는 막대 그래프를 생성할 수 있습니다.
2. Seaborn 소개
Seaborn
은 Matplotlib을 기반으로 한 고급 시각화 라이브러리로, 더 세련된 스타일의 그래프와 고급 통계 그래프를 쉽게 생성할 수 있습니다. pip install seaborn
명령어로 설치할 수 있습니다.
예제 3: Seaborn을 사용한 산점도 그리기
import seaborn as sns
import matplotlib.pyplot as plt
# 샘플 데이터 준비
tips = sns.load_dataset("tips")
# 산점도 그리기
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")
plt.title("Seaborn 산점도 예제")
plt.show()
위 코드에서는 tips
데이터셋을 사용하여 총 금액(total_bill
)과 팁(tip
)의 관계를 산점도로 표현하고, time
에 따라 색상 구분을 합니다.
3. Matplotlib과 Seaborn의 다양한 그래프
3.1 히스토그램
히스토그램은 데이터의 분포를 시각화할 때 유용합니다. Seaborn의 histplot
함수를 사용해 히스토그램을 그릴 수 있습니다.
예제: 히스토그램 그리기
import seaborn as sns
import matplotlib.pyplot as plt
# 샘플 데이터 준비
sns.histplot(data=tips, x="total_bill", bins=20, kde=True)
plt.title("히스토그램 예제")
plt.xlabel("Total Bill")
plt.show()
위 코드에서는 총 금액의 분포를 히스토그램으로 나타내고, 커널 밀도 추정(kde
)을 추가하여 분포를 매끄럽게 표시합니다.
3.2 상자 그림 (Box Plot)
상자 그림은 데이터의 중앙값, 분위수를 포함해 데이터의 범위와 이상치를 시각화하는 데 유용합니다.
예제: 상자 그림 그리기
sns.boxplot(data=tips, x="day", y="total_bill")
plt.title("상자 그림 예제")
plt.show()
위 코드에서는 요일별 총 금액의 분포를 상자 그림으로 표시합니다.
3.3 히트맵 (Heatmap)
히트맵은 2차원 데이터의 값들을 색상으로 표현하여 데이터의 패턴이나 관계를 직관적으로 보여줍니다.
예제: 히트맵 그리기
# 샘플 데이터 생성
import numpy as np
data = np.random.rand(10, 12)
sns.heatmap(data, cmap="YlGnBu")
plt.title("히트맵 예제")
plt.show()
위 코드에서는 랜덤 데이터로 히트맵을 생성하여 값을 색상으로 시각화합니다.
4. 그래프 스타일 및 색상 조정
Seaborn은 그래프의 스타일을 간편하게 조정할 수 있는 set_style()
함수와 색상 테마를 설정할 수 있는 color_palette()
함수를 제공합니다.
예제: 그래프 스타일과 색상 변경
# 스타일과 색상 설정
sns.set_style("whitegrid")
sns.set_palette("pastel")
# 데이터 준비 및 그래프 그리기
sns.boxplot(data=tips, x="day", y="total_bill")
plt.title("스타일이 적용된 상자 그림")
plt.show()
위 코드에서는 Seaborn의 스타일을 whitegrid
로 설정하고, 색상 테마를 pastel
로 적용하여 그래프의 시각적 효과를 개선합니다.
마무리
이번 글에서는 파이썬의 대표적인 데이터 시각화 라이브러리인 Matplotlib과 Seaborn의 기초 사용법을 살펴보았습니다. 데이터를 시각적으로 표현하여 직관적인 분석을 할 수 있는 데이터 시각화는 데이터 분석에서 필수적인 기술입니다. 다양한 시각화 방법을 연습하여 데이터를 효과적으로 전달할 수 있는 시각화 능력을 키워보세요.