본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 데이터 시각화하기: 고급 플롯 기법

by 포탈메이커 2023. 7. 20.

파이썬으로 데이터 시각화하기: 고급 플롯 기법

소개

데이터 시각화는 데이터의 복잡한 패턴이나 추세를 파악하는 데 매우 유용한 도구입니다. 파이썬은 데이터 시각화에 최적화된 다양한 라이브러리를 제공하고 있으며, 이 블로그 포스팅에서는 파이썬을 사용하여 고급 플롯 기법을 살펴보겠습니다.

Matplotlib

Matplotlib는 파이썬에서 가장 널리 사용되는 데이터 시각화 라이브러리입니다. 기본적인 그래프부터 고급 플롯까지 다양한 기능을 제공하며, 다른 라이브러리와의 호환성도 매우 우수합니다.

선 그래프

Matplotlib의 가장 기본적인 플롯은 선 그래프입니다. 선 그래프는 시간, 변화, 추세 등을 보여주는 데에 유용하며, 간단하게 그릴 수 있습니다.

```python import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10]

plt.plot(x, y) plt.xlabel('x-axis') plt.ylabel('y-axis') plt.title('Line Plot') plt.show() ```

산점도

데이터의 분포를 보여주기 위해 산점도를 사용할 수 있습니다. 산점도는 두 변수 간의 상관 관계를 파악하는 데 유용합니다. Matplotlib에서는 scatter() 함수를 사용하여 산점도를 그릴 수 있습니다.

```python import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10]

plt.scatter(x, y) plt.xlabel('x-axis') plt.ylabel('y-axis') plt.title('Scatter Plot') plt.show() ```

막대 그래프

데이터의 크기를 시각화하기 위해 막대 그래프를 사용할 수 있습니다. 막대 그래프는 각 항목의 값에 따라 막대의 높이를 조절하여 그릴 수 있으며, 범주형 데이터의 분포를 확인하는 데에 유용합니다.

```python import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E'] y = [10, 15, 7, 12, 9]

plt.bar(x, y) plt.xlabel('Category') plt.ylabel('Value') plt.title('Bar Chart') plt.show() ```

Seaborn

Seaborn은 Matplotlib을 기반으로 한 파이썬 시각화 라이브러리로, Matplotlib의 기능을 보완하고 다양한 통계적 그래프를 그릴 수 있도록 도와줍니다.

박스 플롯

데이터의 분포와 이상치를 한 눈에 파악할 수 있는 박스 플롯은 Seaborn에서 손쉽게 그릴 수 있습니다.

```python import seaborn as sns

tips = sns.load_dataset('tips')

sns.boxplot(x='day', y='total_bill', data=tips) plt.xlabel('Day') plt.ylabel('Total Bill') plt.title('Box Plot') plt.show() ```

히트맵

두 변수 간의 상관 관계를 시각화하기 위해 히트맵을 사용할 수 있습니다. 히트맵은 데이터 값을 색상으로 표현하는데, Seaborn의 heatmap() 함수를 사용하여 그릴 수 있습니다.

```python import seaborn as sns

iris = sns.load_dataset('iris')

corr = iris.corr() sns.heatmap(corr, annot=True, cmap='coolwarm') plt.title('Heatmap') plt.show() ```

Plotly

Plotly는 인터랙티브한 시각화를 제공하는 파이썬 라이브러리로, 웹 기반의 대시보드와 그래프를 손쉽게 만들 수 있습니다.

선 그래프

Plotly에서 선 그래프를 그리기 위해서는 graph_objects 모듈에서 Scatter() 클래스를 사용합니다.

```python import plotly.graph_objects as go

x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10]

data = go.Scatter(x=x, y=y) fig = go.Figure(data)

fig.update_layout(title='Line Plot') fig.show() ```

3D 산점도

Plotly에서 3차원 산점도를 그리기 위해서는 plotly.express 모듈에서 scatter_3d() 함수를 사용합니다.

```python import plotly.express as px

iris = px.data.iris()

fig = px.scatter3d(iris, x='sepallength', y='petallength', z='petalwidth', color='species') fig.update_layout(title='3D Scatter Plot') fig.show() ```

결론

위에서 소개한 Matplotlib, Seaborn, Plotly를 사용하여 파이썬으로 데이터 시각화를 할 수 있습니다. 이러한 고급 플롯 기법을 사용하면 데이터에 대한 통찰력을 얻을 수 있으며, 더 나아가 인터랙티브한 그래프와 대시보드를 만들 수도 있습니다. 데이터 시각화의 중요성을 인지하고 이러한 기법들을 익혀 활용해보세요.