안녕하세요 :)
seaborn으로 데이터시각화하기 두번째 게시물은 relplot입니다
relplot 하나로 lineplot, scatteplot 모두 활용가능한데요~
궁금한점은 댓글로 부탁드려요 ~*
Chapter2. Python seaborn - sns.relplot¶
seaborn 의 relation plot, relplot 소개¶
- Figure-level interface for drawing relational plots onto a FacetGrid.
- Default로 그리면 sns.scatterplot 과 같고, 'kind="line"' 옵션과 함께 사용하면 sns.lineplot과 같음
- 그럼 scatterplot과 lineplot을 사용하지 왜 relplot을 사용하냐? : 바로바로 'col', 'row' 옵션때문
In [1]:
# 기본 라이브러리 설치
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 기본 데이터셋 불러오기
tips = sns.load_dataset('tips')
tips.head()
Out[1]:
기본 relplot은 scatterplot과 동일하다¶
In [2]:
sns.relplot(data=tips, x="total_bill", y="tip", hue="day")
Out[2]:
kind 옵션 'line' 사용시 lineplot과 동일해진다¶
In [3]:
sns.relplot(data=tips, x="total_bill", y="tip", kind='line')
Out[3]:
'col','row' 옵션을 이용하면 categorical variable(범주형 변수)로 나눠서 그려줌¶
In [4]:
sns.relplot(data=tips, x="total_bill", y="tip", hue="day", col="time")
Out[4]:
In [5]:
sns.relplot(data=tips, x="total_bill", y="tip", hue="day", col="time", row="sex")
Out[5]:
In [6]:
# 아래와 같이 사용할 수 있다.
fmri = sns.load_dataset("fmri")
g = sns.relplot(
data=fmri,
x="timepoint", y="signal",
# 'style' 옵션을 사용하여 hue로 나누어 나타냈던 line의 stlye도 다르게 표현할 수 있음.
hue="event", style="event", col="region",
# 'height'과 'aspect'를 통하여 그래프 높이와 너비 조절 가능
height=4, aspect=0.7, kind="line"
)
# matplotlib.pyplot의 axhline 를 이용하여 회색(0.7) 점선(dashes=(2,1)을 보조선으로 그어줌)
(g.map(plt.axhline, y=0, color=".7", dashes=(2, 1), zorder=0)
.set_axis_labels("Timepoint", "Percent signal change")
.set_titles("Region: {col_name} cortex"))
# 그래프 사이의 padding을 없애서 컴팩트하게 표현
plt.tight_layout(w_pad=0, h_pad=0)
'Data visualization with python' 카테고리의 다른 글
| [Python] matplotlib pyplot - barplot with annotation (0) | 2021.03.05 |
|---|---|
| [Python] seaborn 데이터시각화 graph 종류 총 정리 (0) | 2021.01.04 |