(4-3) Seaborn 심화
210830
4-3. Seaborn Advanced
이번에는 여러 차트를 사용하여 정보량을 높이는 방법에 대해 다뤄보도록 하겠습니다.
이전에는 ax에 하나를 그리는 방법이었다면, 이제는 Figure-Level로 전체적인 시각화를 그리는 API입니다.
jointplot
pairplot
FacetGrid
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?