본문 바로가기

데이터 다루기/데이터 시각화

[Python 시각화] Box plot

728x90
반응형

안녕하세요.

 

이번 포스팅에서는 Python에서 Box plot (상자 그래프) 을 그리는 방법에 대해서 배워보도록 하겠습니다.

 

(1) 패키지 불러오기

 

사용할 패키지는 matplotlib과 seaborn 입니다.

 

import matplotlib.pyplot as plt
import seaborn as sns

 

(2) 데이터 불러오기

 

Box plot을 그리는 데 활용할 실습 데이터는 seaborn 패키지에 내장된 tips 데이터 입니다.

 

tips = sns.load_dataset('tips')
tips.head()

 

 

(3) 시각화

  • 그래프 배경 스타일 설정

흰색 배경의 그리드 스타일로 변경해주자.

 

sns.set_style("whitegrid")

 

 

  • 수평 및 수직 조절

그리고자 하는 변수를 x와 y인자에 사용할지를 변경함에 따라 수직 Box plot과 수평 Box plot을 정할 수 있다.

 

sns.boxplot(x = "total_bill",  data = tips)

sns.boxplot(y = "total_bill",  data = tips)

 

Box plot의 형태를 변경시킬 수 있는 인자들도 알아두면 좋다.

color: 색상
width: 박스 폭 (0~1)
fliersize: 아웃라이어 마커 사이즈
linewidth: 라인 두꼐
saturation: 색상 채도 (0~1)

 

  • 그룹 별 Box plot 시각화

그룹에 해당되는 변수를 x에 그리고자 할 변수를 y인자에 입력하면 그룹 별 Box plot을 쉽게 그릴 수 있다.

 

sns.boxplot(x = "day", y = "total_bill", data = tips)

 

 

hue 인자를 사용하면 이변량에 대해서도 그릴 수 있다.

 

sns.boxplot(x = "day", y = "total_bill",  width = 0.6, hue = "smoker", data = tips)

 

palette를 변경해주면 색상을 더 이쁘게 바꿔줄 수 있다.

 

sns.boxplot(x = "day", y = "total_bill",  width = 0.6, hue = "smoker", palette = "Set3", data = tips)

 

  • Swarmplot

Swarmplot은 Box plot 위에 산점도를 추가하는 방법니다.

 

sns.boxplot(x="day", y="total_bill", data=tips)
sns.swarmplot(x="day", y="total_bill", data=tips, color=".25")

 

 

 

반응형