본문으로 건너뛰기
실습하기

Seaborn과 Matplotlib의 차이 및 함께 사용하기

파이썬에서 데이터를 시각화할 때는 MatplotlibSeaborn을 주로 사용합니다.

두 라이브러리는 서로 다른 특징을 가지며, 함께 사용하면 더욱 강력한 시각화 기능을 활용할 수 있습니다.

이번 수업에서는 Matplotlib과 Seaborn의 차이점을 살펴보고, Seaborn을 Matplotlib과 함께 사용하는 방법을 소개합니다.


1. Seaborn과 Matplotlib의 차이점

Matplotlib은 기본적인 그래프 생성과 세부적인 그래프 정의에 강점이 있고, Seaborn은 데이터프레임 기반의 고급 시각화를 간단한 코드로 구현할 수 있다는 장점이 있습니다.

특징MatplotlibSeaborn
목적기본적인 그래프 제작고급 데이터 시각화
사용 방식낮은 수준의 직접 조작 필요데이터프레임 기반으로 간편하게 사용 가능
스타일기본 스타일이 단순자동으로 세련된 스타일 적용
기본 데이터 구조배열(list, numpy) 중심pandas.DataFrame과 자연스럽게 연동
고급 기능다양한 사용자 정의가 가능하지만 다소 복잡pairplot, heatmap 등 데이터 분석에 유용한 기능 제공

2. Matplotlib만 사용할 경우

Matplotlib을 단독으로 사용할 경우, 그래프 스타일을 직접 설정해야 합니다.

Matplotlib 기본 그래프
import matplotlib.pyplot as plt
import numpy as np

# 샘플 데이터 생성
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 그래프 그리기
plt.figure(figsize=(8, 4))
plt.plot(x, y, color='blue', linestyle='--', linewidth=2)
plt.title("Matplotlib을 이용한 그래프")
plt.xlabel("X축")
plt.ylabel("Y축")
plt.grid(True)

# 그래프 출력
plt.show()

위 코드를 실행하면 plt.plot()을 이용해 기본적인 선 그래프를 생성할 수 있습니다.

하지만 color, linestyle, linewidth, grid 등을 설정해야 하기 때문에 코드가 다소 길어질 수 있습니다.


3. Seaborn을 활용한 간편한 시각화

Seaborn을 이용하면 스타일 설정 없이도 보기 좋은 그래프를 쉽게 그릴 수 있습니다.

Seaborn을 이용한 그래프
import seaborn as sns
import matplotlib.pyplot as plt

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

# 요일별 평균 지출을 나타내는 막대 그래프
sns.barplot(x="day", y="total_bill", data=tips)

# 그래프 출력
plt.show()

위 코드에서는 sns.barplot()을 사용하여 tips 데이터에서 요일별 평균 지출을 나타내는 막대 그래프를 생성합니다.

Matplotlib처럼 스타일을 세부적으로 설정하지 않아도 기본적으로 깔끔한 그래프가 생성됩니다.


4. Seaborn과 Matplotlib 함께 사용하기

Seaborn으로 기본 그래프를 그리고, Matplotlib을 활용하여 추가적인 조정을 할 수 있습니다.

Seaborn + Matplotlib 함께 사용
import seaborn as sns
import matplotlib.pyplot as plt

# 데이터 불러오기
tips = sns.load_dataset("tips")

# Seaborn으로 그래프 생성
sns.boxplot(x="day", y="total_bill", data=tips)

# Matplotlib을 이용한 추가 설정
plt.title("요일별 총 지출 분포")
plt.xlabel("요일")
plt.ylabel("총 지출 ($)")
plt.grid(True)

# 그래프 출력
plt.show()

위 코드는 Seaborn의 boxplot()을 활용하여 요일별 총 지출 분포를 나타내고, Matplotlib을 이용해 제목, 축 이름, 격자(Grid)를 추가했습니다.

이렇게 Seaborn으로 그래프를 만들고, Matplotlib을 이용해 세부적인 설정을 추가하면 데이터 시각화를 더욱 효과적으로 수행할 수 있습니다.


참고자료

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!