일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- mrc
- 부스트캠프_AITech3기
- python3
- 백준
- 정렬
- 그래프이론
- 백트랙킹
- 다이나믹프로그래밍
- 프로그래머스
- U_stage
- 주간회고
- Level1
- 부스트캠프_AITech_3기
- ODQA
- 최단경로
- 그리디
- 알고리즘_스터디
- 이진탐색
- Level2_PStage
- 개인회고
- 알고리즘스터디
- 다시보기
- 이코테
- dfs
- 단계별문제풀이
- Level2
- 파이썬 3
- 구현
- dp
- 기술면접
- Today
- Total
국문과 유목민
Seaborn 멀티차트 사용법 본문
이전 포스팅에서 Plot API별 사용법을 정리했기 때문에 해당 포스팅에서는 MultiFaceted에 관해서만 다루고 있습니다. API의 사용방법이 궁금하시면 이전 포스팅(Saeborn API별 사용법)을 참고해주시기 바랍니다.
Multifaceted
하나의 차트를 사용하는 것보다 여러 차트를 사용하게 되면 당연히 정보량이 높아지게 된다. ax에 하나의 그래프를 그리는 것이 아닌 Figure-Level로 전체적인 시각화를 그릴 수 있는 API들이 있는데 해당 포스팅에서는 Seaborn의 그래프들을 한 번에 여러 개 그릴 수 있는 방법에 대해 정리하고자 한다. Multi Facet은 다음과 같은 방법을 통해서 표현할 수 있다.
- JointPlot
- PairPlot
- FacetGrid
1. JointPlot
JointPlot은 distribution Api에서 결합확률 분포를 시각화할 때 사용했던 함수들을 활용해 2개 피처의 결합확률 분포와 함께 각각의 분포도 살필 수 있는 시각화를 제공한다. hue를 사용해 구분할 수도 있고, kind를 활용해 분포를 다양한 종류로 확인할 수 있다. (scatterplot은 연속형, 수치형 데이터에서만 사용할 수 있다는 점 유의)
sns.jointplot(x='math score', y='reading score',data=student,
hue='gender',
kind='kde', # { “scatter” | “kde” | “hist” | “hex” | “reg” | “resid” },
fill=True # kde
)
2. PairPlot
데이터셋의 pair-wise관계를 시각화 하는 함수이다. 2가지 변수를 사용해 시각화 방법을 조정할 수 있다. kind는 전체 서브플롯, diag_kind는 대각 서브플롯을 조정한다..
- kind : {‘scatter’, ‘kde’, ‘hist’, ‘reg’}
- diag_kind : {‘auto’, ‘hist’, ‘kde’, None}
기본적으로 pairwise로 하게 되면 모양이 대각선을 기준으로 대칭이기 때문에, corner를 활용해 상삼각행렬의 plot을 보이지 않게 할 수 있다.
sns.pairplot(data=iris, hue='Species', diag_kind='hist', #corner = True
)
3. FacetGrid
pairplot과 같이 다중 패널을 사용하는 시각화를 의미한다. 다만 pairplot은 feature-feature 사이를 살폈다면, Facet Grid는 feature-feature 뿐만이 아니라 feature's category-feature's category의 관계도 살펴볼 수 있다. 단일 시각화도 가능하지만, 최대한 여러 pair를 보며 관계를 살피는 코드 위주로 작성하겠다. 다음과 같이 총 4개의 큰 함수가 Facet Grid를 기반으로 만들어졌다.
- catplot : Categorical
- displot : Distribution
- relplot : Relational
- lmplot : Regression
FacetGrid는 각 행과 열의 category를 기반으로 해당 그래프의 개수가 조정되기 때문에 행과 열을 조정하는 것이 중요하다.
3-1. catplot
catplot은 다음 방법론을 사용할 수 있다. 기본은 stripplot이지만, kind ='plot명'을 사용해 다른 플롯도 사용이 가능하다.
- Categorical scatterplots:
- stripplot() (with kind="strip"; the default)
- swarmplot() (with kind="swarm")
- Categorical distribution plots:
- boxplot() (with kind="box")
- violinplot() (with kind="violin")
- boxenplot() (with kind="boxen")
- Categorical estimate plots:
- pointplot() (with kind="point")
- barplot() (with kind="bar")
- countplot() (with kind="count")
sns.catplot(x="race/ethnicity", y="math score", hue="gender", data=student,
kind='box', col='lunch', row='test preparation course'
)
3-2. displot
displot은 다음 방법론을 사용할 수 있다.
- histplot() (with kind="hist"; the default)
- kdeplot() (with kind="kde")
- ecdfplot() (with kind="ecdf"; univariate-only)
sns.displot(x="math score", hue="gender", data=student,
col='race/ethnicity', kind='kde', fill=True,
col_order=sorted(student['race/ethnicity'].unique())
)
3-3. relplot
relplot은 다음 방법론을 사용할 수 있다.
- scatterplot() (with kind="scatter"; the default)
- lineplot() (with kind="line")
sns.relplot(x="math score", y='reading score', hue="gender", data=student,
col='lunch')
3-4. lmplot
lmplot은 다음 방법론을 사용할 수 있다.
- regplot()
sns.lmplot(x="math score", y='reading score', hue="gender", data=student)
'IT 견문록 > 함수 및 코드 (디지털치매 대비)' 카테고리의 다른 글
Visualization Libraries (Missingno, Treemap, WaffleChart, Venn) (0) | 2022.02.11 |
---|---|
Matplotlib [polar, pie] 사용법 (0) | 2022.02.10 |
Seaborn API별 사용법 (0) | 2022.02.06 |
Pytorch Trouble Shooting (0) | 2022.01.26 |
[git]Git 기본 명령어 정리 (0) | 2022.01.21 |