[파이썬] `ggplot`과 다른 시각화 라이브러리 비교

시각화는 데이터 분석에서 중요한 역할을 담당합니다. 데이터를 시각적으로 표현함으로써 패턴, 동향, 상관 관계 등을 쉽게 파악할 수 있습니다. Python에는 다양한 시각화 라이브러리가 있지만, 그 중 ggplot과 비슷한 스타일의 시각화를 제공하는 라이브러리들을 비교해보려고 합니다.

1. matplotlib

matplotlib은 가장 기본적인 시각화 라이브러리로, 파이썬에서 가장 널리 사용되고 있는 라이브러리입니다. ggplot과는 다른스러운 스타일을 가지고 있지만, 다양한 차트 유형과 설정 옵션을 제공하여 유연하게 시각화를 구현할 수 있습니다. 아래는 matplotlib을 사용하여 간단한 선 그래프를 그리는 예제입니다.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Sine Wave')
plt.show()

2. seaborn

seaborn은 통계적인 기능을 강화한 시각화 라이브러리로, ggplot과 비슷한 스타일을 가집니다. matplotlib 기반으로 작동하며, 다양한 테마와 색상 팔레트를 제공하여 편리하게 시각화를 할 수 있습니다. 아래는 seaborn을 사용하여 타이타닉 데이터에서 나이와 요금 간의 상관 관계를 시각화한 예제입니다.

import seaborn as sns
import pandas as pd

titanic = sns.load_dataset('titanic')

sns.scatterplot(data=titanic, x='age', y='fare', hue='class')
plt.xlabel('Age')
plt.ylabel('Fare')
plt.title('Age vs Fare')
plt.show()

3. plotly

plotly는 인터랙티브한 시각화를 제공하는 라이브러리로, ggplot과는 다른 시각화 경험을 제공합니다. matplotlibseaborn에 비해 코드가 좀 더 복잡할 수 있지만, 다양한 종류의 인터랙션과 실시간 업데이트 기능을 사용할 수 있습니다. 아래는 plotly를 사용하여 3D 산점도를 그리는 예제입니다.

import plotly.express as px
import pandas as pd

df = pd.read_csv('data.csv')

fig = px.scatter_3d(df, x='x', y='y', z='z', color='category')
fig.show()

각 라이브러리는 각자의 특징과 장점을 가지고 있으며, 사용자의 요구에 맞게 선택하여 데이터 시각화에 활용할 수 있습니다. ggplot과 비슷한 스타일을 원한다면 seaborn이나 ggplot을 사용하는 것이 좋으며, 인터랙티브한 시각화를 원한다면 plotly를 선택할 수 있습니다.