본문 바로가기

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

[Python 시각화] Histogram (히스토그램)

728x90
반응형

안녕하세요.

 

이번 포스팅에서는 Python에서 히스토그램을 그리는 방법에 대해서 배워보도록 하겠습니다.

 

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

 

import matplotlib.pyplot as plt
import seaborn as sns

 

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

 

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

 

 

간단한 Histogram은 seaborn 패키지의 displot으로 구현할 수 있습니다.

이 때, 히스토그램의 구간의 개수는 bins 인자를 통해 정해줄 수 있습니다.

 

sns.displot(tips['total_bill'], bins=10)

 

 

displot의 다양한 인자들을 알아보면서 Histogram을 한 번 꾸며보도록 하겠습니다.

 

(1) binwidth: 각 막대의 굵기를 정할 수 있습니다.

 

sns.displot(tips['total_bill'], bins=10, binwidth=3)

 

(2) discrete: 해당 인자에 True 값을 주면 고유 값들을 기준으로 히스토그램을 그려줍니다.

 

sns.displot(tips['total_bill'], discrete = True)

 

(3) shrink: 막대 사이의 간격을 조절합니다. default는 1로 다닥다닥 붙어있는 경우입니다.

 

sns.displot(tips['total_bill'], bins=10, binwidth=3, shrink=.8)

 

(4) hue: 그룹화를 줌으로써 범주에 따른 히스토그램을 그릴 수 있습니다.

element 인자는 히스토그램을 투명화 시켜서 더 잘 보이게 그리게 해줍니다.

 

sns.displot(tips, x="total_bill", hue="time", bins=10, binwidth=3, element="step")

 

multiple = 'dodge' 를 통해 겹치지 않고 따로 그리게 할 수 있습니다.

stack 으로 바꾸는 경우 겹치되 세로로 따로!

 

sns.displot(tips, x="total_bill", hue="time", bins=10, binwidth=3, multiple="dodge")

 

 

 

반응형