Python

[Matplotlib] Bar Chart 만들기

yugyeong 2022. 11. 28. 11:17

Bar Charts

 

# 각 value 별로 몇개씩 있는지를 차트로 나타내고 싶을 때
# seaborn 의 countplot 함수 사용

 

 

import matplotlib.pyplot as plt
import seaborn as sb

필요한 라이브러리를 임포트 해준다.

 

 

 

 

 

아래와같은 데이터프레임이 있을 때, generation_id 컬럼의 데이터를 차트로 나타내는 방법이다.

 

 

 

 

먼저 generation_id 컬럼에 각각 몇개의 데이터가 있는지 확인을 한다.

generation_id 컬럼이 카테고리컬 데이터인 것을 확인을 하면 차트를 그려주면 된다.

 

 

 

각 value 별로 몇개씩 있는지를 차트로 나타내고 싶을 때, seaborn 의 countplot 함수 사용한다.

sb.countplot()을 해준 후 괄호 안에는 나타내고자 하는 데이터프레임을 data 파라미터에 넣어준다.

그리고 x축에 나타낼 데이터 컬럼을 x= 컬럼에 넣어주면 된다.

 

 

 

차트의 색을 바꿔주는 방법

 

 

sb.color_palette()를 해주면 도표에 나타낼 수 있는 색들을 출력해준다.

출력된 색들은 리스트 형식이기 때문에 원하는 색을 대괄호로 출력해준다.

그 후 sb.countplot 의 color 파라미터 값에 설정한 컬러 값을 넣어주면 된다.

 

 

 

 

도표 정렬하기

 

 

도표를 정렬하는 방법은 간단하다.

df['generation_id'].value_counts() 를 하면 generation_id 컬럼의 데이터 값들이 많은 순으로 출력된다. 출력된 데이터의 index 를 새로운 변수에 저장을 한 후, sb.countplot 함수에 넣어주면 된다.

order= 이라는 파라미터에 인덱스를 저장한 변수를 넣어주면 내림차순으로 정렬된다.

 

만약, 오름차순으로 정렬하고자 한다면, value_counts() 괄호안에 ascending= True 값을 넣어주면 된다.

 

 

 

x 축의 값들이 겹쳐서 나타날 경우

 

x 축에 출력된 값들이 길어서 서로 겹쳐서 출력될 경우에는 plt.xticks() 함수를 이용하면 된다.

괄호 안에는 rotation 파라미터를 이용하여 글자를 몇 도 돌려줄지 숫자를 적어주면 된다.

 

 

 

y축 활용하기

 

x축의 값을 y축으로 가져오는 방법은

sb.countplot 함수의 y= 에 나타내고자 하는 컬럼명을 넣어주면 된다.