(4-3) Seaborn 심화
210830
4-3. Seaborn Advanced
이번에는 여러 차트를 사용하여 정보량을 높이는 방법에 대해 다뤄보도록 하겠습니다.
이전에는 ax에 하나를 그리는 방법이었다면, 이제는 Figure-Level로 전체적인 시각화를 그리는 API입니다.
jointplot
pairplot
FacetGrid
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
student = pd.read_csv('./StudentsPerformance.csv')
iris = pd.read_csv('./iris.csv')1. Joint Plot
이미 distribution api에서 결합확률 분포를 시각화하는 다양한 함수를 살펴보았습니다.
joint plot은 그런 2개 피처의 결합확률 분포와 함께 각각의 분포도 살필 수 있는 시각화를 제공합니다.

hue를 사용하여 구분할 수 있습니다.

다양한 종류로 분포를 확인할 수 있습니다.

2. Pair Plot
데이터셋의 pair-wise 관계를 시각화하는 함수입니다.
Id
SepalLengthCm
SepalWidthCm
PetalLengthCm
PetalWidthCm
Species
0
1
5.1
3.5
1.4
0.2
Iris-setosa
1
2
4.9
3.0
1.4
0.2
Iris-setosa
2
3
4.7
3.2
1.3
0.2
Iris-setosa
3
4
4.6
3.1
1.5
0.2
Iris-setosa
4
5
5.0
3.6
1.4
0.2
Iris-setosa


2가지 변수를 사용하여 시각화 방법을 조정할 수 있습니다.
kind는 전체 서브플롯, diag_kind는 대각 서브플롯을 조정합니다.
kind: {‘scatter’, ‘kde’, ‘hist’, ‘reg’}diag_kind: {‘auto’, ‘hist’, ‘kde’, None}

기본적으로 pairwise로 하게 되면 모양이 대각선을 기준으로 대칭입니다. 상삼각행렬의 plot은 보지 않는 방법도 있습니다.

3. Facet Grid 사용하기
pairplot과 같이 다중 패널을 사용하는 시각화를 의미합니다.
다만 pairplot은 feature-feature 사이를 살폈다면, Facet Grid는 feature-feature 뿐만이 아니라 feature's category-feature's category의 관계도 살펴볼 수 있습니다.
단일 시각화도 가능하지만, 여기서는 최대한 여러 pair를 보며 관계를 살피는 것을 위주로 보면 좋습니다.
총 4개의 큰 함수가 Facet Grid를 기반으로 만들어졌습니다.
catplot: Categoricaldisplot: Distributionrelplot: Relationallmplot: Regression
3-1. catplot
이미 수 많은 방법을 앞에서 살펴보았기에 각각에 대한 설명은 생략하도록 하겠습니다. catplot은 다음 방법론을 사용할 수 있습니다.
Categorical scatterplots:
stripplot()(withkind="strip"; the default)swarmplot()(withkind="swarm")
Categorical distribution plots:
boxplot()(withkind="box")violinplot()(withkind="violin")boxenplot()(withkind="boxen")
Categorical estimate plots:
pointplot()(withkind="point")barplot()(withkind="bar")countplot()(withkind="count")
gender
race/ethnicity
parental level of education
lunch
test preparation course
math score
reading score
writing score
0
female
group B
bachelor's degree
standard
none
72
72
74
1
female
group C
some college
standard
completed
69
90
88
2
female
group B
master's degree
standard
none
90
95
93
3
male
group A
associate's degree
free/reduced
none
47
57
44
4
male
group C
some college
standard
none
76
78
75

기본은 stripplot이고, 다른 플롯도 사용할 수 있습니다.

FacetGrid는 행(Row)과 열(Column)을 조정하는 것이 중요합니다.
각 행과 열의 category를 기반으로 해당 그래프의 개수가 조정됩니다.

3-2. displot
displot은 다음 방법론을 사용할 수 있습니다.
histplot()(withkind="hist"; the default)kdeplot()(withkind="kde")ecdfplot()(withkind="ecdf"; univariate-only)


3-3. relplot
relplot은 다음 방법론을 사용할 수 있습니다.
scatterplot()(withkind="scatter"; the default)lineplot()(withkind="line")

3-4. lmplot
lmplot은 다음 방법론을 사용할 수 있습니다.
regplot()

Last updated
Was this helpful?