Snoopy [Python] seaborn 1 - 기본개념
Python/Seaborn

[Python] seaborn 1 - 기본개념

Sooyoon Jeong 2022. 10. 27.

1. Seaborn 

향상된 데이터 시각화를 위해 만들어진 Python 라이브러리

matplotlib 기반이며 matplotlib을 보다 편하게 사용하기위해 한 번 감싸진 것으로 생각하면 편하다.

 

아울러 seaborn에는 regression, matrix 등도 있다.

 

2. seaborn 시작하기

import seaborn as sns
import matplotlib.pyplot as plt

matplotlib을 함께 사용하면 옵션을 지정하기 편하다.

※ matplotlib 한글폰트 사용하는 방법

!pip install koreanize-matplotlib
import koreanize_matplotlib

 

3. relplot

두 가지 변수의 관계를 나타내기 위해 주로 사용

x축과 y축 모두 변수를 지정해주어야 한다.

 

1️⃣ lmplot: 회귀모형 적합치를 볼 수 있는 plot으로 subplot을 함께 그려야 할 때 사용

 

2️⃣ relplot: 두 변수의 관계를 점과 선으로 나타내고자 하고 subplot을 함께 그려야 할 때 사용

 

3️⃣ scatterplot: 두 변수의 관계를 점으로 나타내고자 할 때 사용, subplot을 사용 불가

 

4️⃣ lineplot: 두 변수의 관계를 선으로 나타내고자 할 때 사용, subplot 사용 불가

 

5️⃣ regplot: 회귀모형 적합치를 보고자 할 때 사용, subplot 사용 불가

 

4. displot

변수 하나 혹은 두개의 값 분포를 나타내기 위해 주로 사용

x축 또는 y축 하나에만, x축과 y축 모두에 값을 입력할 수 있다.

(단, ecdfplot과 countplot 예외)

 

1️⃣ displot: 히스토그램과 관측치의 분포 밀도를 확인하고자 하고 subplot을 그려야 할 때 사용

x 축만 지정하면 count값으로 하여 plot을 그린다.

 

x 축과 y축을 지정하면 분포를 heatmap 형태로 보여준다.

 

subplot 지정하여 그렸을 때

 

2️⃣ histplot: 히스토그램을 그릴 때 사용, subplot 사용 불가

histplot과 displot은 subplot 사용 여부이다. subplot을 사용해야할 때는 displot, 사용하지 않아도 될 때는 histplot으로 그리면 될 것 같다.

 

x 축만 지정하면 count값으로 하여 plot을 그린다.

x 축과 y축을 지정하면 분포를 heatmap 형태로 보여준다.

 

3️⃣ kdeplot: 관측치 분포 밀도를 그리고자 할 떄 사용, subplot 사용 불가

kedplot은 히스토그램보다 부드러운 형태의 분포 곡선을 보여주는 것이다.

 

x축만 변수를 지정했을 때, 지정하지 않은 축의 기본 값은 density이다.

 

x축과 y축 모두에 변수를 지정했을 때

 

4️⃣ ecdfplot: 누적분포를 확인하고자 할 때 사용, subplot 사용 불가

x축 또는 y축 하나에만 변수를 지정할 수 있고 지정하지 않은 축의 기본 값은 propotion이다.

 

5️⃣ rugplot: 축 위에 작은 선분(rug)으로 실제 데이터의 분포를 보고자 할 때 사용, subplot 사용 불가

 

 

6️⃣ countplot: 빈도수를 확인하고자 할 때 사용, subplot 사용 불가

x축 또는 y축 하나에만 변수를 지정할 수 있고 지정하지 않은 축의 기본 값은 count이다.

 

5. catplot

범주형 변수와 연속형 변수간의 관계를 나타내기 위해 주로 사용

 

1️⃣ catplot: boxplot, countplot, pointplot을 subplot 형태로 그릴 때 사용(kind 옵션 지정)

 

catplot으로 boxplot 그리기

 

catplot으로 countplot 그리기

 

2️⃣ stripplot: scatterplot 처럼 모든 데이터를 점으로 나타내고자 할 때 사용, subplot 사용 불가

(scatterplot은 두 변수 간의 관계를 점으로 확인하고자 할 때 사용했다.)

 

x축 또는 y축에만 변수 지정하였을 때

 

x축에 수치형 y축에 범주형변수 지정하였을 때

 

x축과 y축 모두에 수치형변수 지정하였을 때

 

3️⃣ swarmplot: stripplot을 펼쳐서 보고 싶을 때 사용, subplot 사용 불가

(점이 겹치지 않도록 옆으로 이동한다.)

 

x축 또는 y축에만 변수 지정하였을 때

 

x축 수치형 변수, y축 범주형 변수

 

x축 수치형 변수, y축 수치형 변수

stripplot과 swarmplot의 차이

 

4️⃣ boxplot: 상자그림을 그릴 때 사용, subplot 사용 불가

x축에 수치형 변수 지정, y축에 범주형 변수 지정

 

5️⃣ violinplot: kdeplot을 위 아래로 합쳐놓은 plot, subplot 사용 불가

 

x축에 수치형 변수 지정

x축에 수치형 변수 지정, y축에 범주형 변수 지정

 

6️⃣ pointplot: 점추정과 신뢰구간을 확인하고자 할 때, subplot 사용 불가

pointplot은 범주형 데이터에 대해서 선 그래프를 그릴 경우 pointplot을 사용한다.

 

x축에 수치형 변수 지정

x축에 수치형 변수, y축에 범주형 변수

(둘 다 수치형 변수 넣는 것을 추천하지는 않는다. 그래프가 이상하게 그려짐)

 

7️⃣ barplot: 막대그래프를 그리고자 할 때, subplot 사용 불가

x축과 y축 하나에만 변수를 지정하여 그리는 것은 큰 의미가 없어보인다.

 

x축과 y축 모두에 수치형 변수 지정

 

x 축에 수치형변수, y축에 범주형 변수 지정

pariplot: 상관관계

heatmap: 히트맵

 

 

 

 

'Python > Seaborn' 카테고리의 다른 글

[python] Seaborn 4 - lineplot  (1) 2022.11.15
[Python] Seaborn 3 - scatterplot  (0) 2022.10.27
[Python] seaborn 2 - lmplot  (0) 2022.10.27

댓글