[파이썬] Matplotlib와 Seaborn을 이용한 인터랙티브 시각화

데이터 시각화는 데이터의 패턴과 관계를 이해하는 데 매우 중요합니다. 파이썬에서는 Matplotlib와 Seaborn이라는 강력한 라이브러리를 사용하여 데이터를 시각화할 수 있습니다. 이들 라이브러리를 사용하면 풍부하고 효과적인 그래프를 생성할 수 있으며, 인터랙티브한 기능을 추가하여 데이터 탐색과 분석의 품질을 더욱 높일 수 있습니다.

Matplotlib

Matplotlib은 파이썬에서 가장 인기 있는 시각화 라이브러리 중 하나입니다. 다양한 종류의 그래프를 생성할 수 있으며, 세부적인 커스터마이징이 가능합니다.

먼저 Matplotlib을 설치하고 간단한 그래프를 그려보겠습니다.

import matplotlib.pyplot as plt

# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [4, 7, 2, 1, 6]

# 그래프 그리기
plt.plot(x, y)

# 그래프 보여주기
plt.show()

위 코드를 실행하면, x 값에 대한 y 값의 추이를 보여주는 간단한 선 그래프가 생성됩니다.

Seaborn

Seaborn은 Matplotlib를 기반으로 한 라이브러리로, Matplotlib보다 좀 더 아름다운 그래프를 생성할 수 있습니다. Seaborn은 통계적 그래픽스 작업을 위한 고급 기능을 제공합니다.

Matplotlib과 마찬가지로 Seaborn을 설치하고 간단한 그래프를 그려보겠습니다.

import seaborn as sns

# 데이터 생성
tips = sns.load_dataset("tips")

# 그래프 그리기
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="sex")

# 그래프 보여주기
plt.show()

위 코드를 실행하면, 식당에서의 팁과 계산된 총 금액 사이의 관계를 보여주는 산점도 그래프가 생성됩니다. 성별에 따라 포인트의 색상이 다르게 표시되어 데이터의 추가적인 정보를 전달합니다.

인터랙티브 시각화

Matplotlib과 Seaborn은 인터랙티브 시각화를 위한 다양한 기능을 제공합니다. 이러한 기능을 사용하면 그래프를 마우스로 확대 및 이동하거나 툴팁을 통해 각 데이터 포인트의 값을 확인할 수 있습니다. 예를 들어, Matplotlib에서는 mplcursors 패키지를 사용하여 인터랙티브한 기능을 추가할 수 있습니다.

import matplotlib.pyplot as plt
import mplcursors

# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [4, 7, 2, 1, 6]

# 그래프 그리기
fig, ax = plt.subplots()
ax.plot(x, y)

# 툴팁 추가
cursor = mplcursors.cursor(ax)
cursor.connect("add", lambda sel: sel.annotation.set_text(f'({sel.target[0]:.1f}, {sel.target[1]:.1f})'))

plt.show()

위 코드를 실행하면, 그래프 상의 각 데이터 포인트에 마우스를 올리면 해당 포인트의 x 좌표와 y 좌표를 툴팁으로 확인할 수 있습니다.

이와 같이 Matplotlib과 Seaborn을 이용하여 인터랙티브 시각화를 적용하면 데이터의 구조와 관계를 좀 더 명확하게 이해할 수 있습니다. 데이터 탐색, 분석, 그리고 결과의 시각화에 이 두 라이브러리를 적극 활용해 보세요!