취준일기

파이썬 데이터 분석# 범주형데이터 그래프 그리기 matplotlib과 seaborn 으로 시각화하기

둉영 2020. 5. 12. 11:18

대체로 파라미터가 유사하기 때문에 사용하기에 편리합니다.

countplot


 

df['음주여부'].value_counts().plot.bar()

 

sns.countplot( x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None,palette=None, saturation=0.75, dodge=True, ax=None, **kwargs, )

sns.countplot(x='음주여부',data=df)

 

파라미터 hue 추가해서 색상으로 구별해 줄 수 있습니다.

 

sns.countplot(x='음주여부',data=df,hue='성별코드')

barplot


수치형과 범주형 데이터 둘다 표현 가능

sns.barplot(data=df_sample,x='연령대코드(5세단위)',y='총콜레스테롤',hue='음주여부')

 

그래프 상에서 검은색 막대는 신뢰구간을 나타내며 ci로 신뢰구간을 설정할 수 있습니다. ci =95 가 초기값으로

sd(표준편차)로 신뢰구간을 나타낼 수 도 있습니다. 

신뢰구간을 표기하기 싫다면 ci = None 을 추가하여 생략할 수 도 있습니다.

 

lineplot and pointplot


재고나 주식을 표현하는 그래프로 많이 사용됩니다.

 

sns.lineplot(data=df_sample,x='연령대코드(5세단위)',y='체중(5Kg단위)',hue='음주여부',ci='sd')

 

음영처리된 부분이 ci 신뢰구간으로 마찬가지로 ci=None 값을 주게 되면 선만 남게 됩니다.

sns.pointplot(data=df,x='연령대코드(5세단위)',y='신장(5Cm단위)',hue='성별코드',ci='sd')

Boxplot

 


이상치의 여부를 확인할 수 있고 4분위 안에 있는 데이터를 대략적으로 확인할 수 있습니다. 

박스픗롯의 의미는 다음과 같습니다.

 

 

  •  최솟값 : 제 1사분위에서 1.5 IQR1을 뺀 위치

  • 제 1사분위(Q1) : 25%의 위치를 의미

  • 제 2사분위(Q2) : 50%의 위치로 중앙값(median)을 의미

  • 제 3사분위(Q3) : 75%의 위치를 의미

  • 최댓값 : 제 3사분위에서 1.5 IQR을 더한 위치

 

 

 

violinplot


검은색 상자 안에 흰색 점은 중앙값을 의미합니다. 

두개의 값을 한번의 보기 위해서 split 파라미터를 이용하여 비교하기도 합니다.

 

swarm plot


데이터들의 분포를 한눈에 확인할 수 있어 유용합니다.

lmplot


회귀선이 나타나고 다변수를 시각화하는 것이 가능하기 때문에 lmplot을 사용합니다.