본문 바로가기

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

[Python 시각화] Bar plot (2)

728x90
반응형

안녕하세요.

 

이번 포스팅에 이어서 Python을 활용한 막대 그래프 (Bar plot)을 그려보도록 하겠습니다.

 

저번 포스팅은 정해진 X값 과 Y값을 그대로 활용해서 막대 그래프를 그렸습니다.

 

2022.12.19 - [데이터 다루기/데이터 시각화] - [Python 시각화] Bar plot (1)

 

그렇다면 이번 포스팅에서는 Count 기반 막대 그래프를 그려보려고 합니다.

 

이번에는 seaborn 패키지를 사용하도록 하겠습니다. (데이터는 내장 데이터인 tips 를 사용합니다.)

 

import seaborn as sns
tips = sns.load_dataset('tips')
tips.head()

 

 

day 기준으로 Count 기반 막대 그래프를 그려보도록 하겠습니다.

 

import matplotlib.pyplot as plt

sns.countplot(x='day', data=tips)

# Name axis labels
plt.xlabel('Day', size = 16)
plt.ylabel('Count', size = 16)

 

order 인자로 순서 조절을 넣어주시면 Sorting 된 막대 그래프를 그릴 수 있습니다.

 

sns.countplot(x='day', data=tips, order = tips['day'].value_counts().index)

# Name axis labels
plt.xlabel('Day', size = 16)
plt.ylabel('Count', size = 16)

 

hue에 그룹 단위 변수를 넣어서 그룹으로 묶인 그래프를 그릴 수도 있습니다.

 

sns.countplot(x='smoker', hue='time', data=tips)

 

추가로 각 막대 마다 실제로 어떤 값을 가지고 있는지를 그래프 내에 표현할 수 있습니다.

 

ax = sns.countplot(x='smoker', hue='time', data=tips)

for p in ax.patches:
  height = p.get_height()
  ax.text(p.get_x() + p.get_width()/2., height+1, height, ha = 'center', size=10)

반응형