본문 바로가기
카테고리 없음

파이썬 데이터 시각화 - Matplotlib과 Seaborn 기초 사용법

by 혜택보관소 2024. 11. 16.

데이터 시각화는 데이터를 시각적으로 표현하여 쉽게 이해하고 분석할 수 있도록 도와주는 중요한 기술입니다.

파이썬에는 MatplotlibSeaborn 같은 강력한 시각화 라이브러리가 있어, 다양한 그래프와 시각적 요소로 데이터를 표현할 수 있습니다.

이번 글에서는 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의 기초 사용법을 살펴보았습니다. 데이터를 시각적으로 표현하여 직관적인 분석을 할 수 있는 데이터 시각화는 데이터 분석에서 필수적인 기술입니다. 다양한 시각화 방법을 연습하여 데이터를 효과적으로 전달할 수 있는 시각화 능력을 키워보세요.