Matplotlib 을 이용한 차트를 만들어봅시다.
import matplotlib.pyplot as plt
import numpy as np
x 축에는 0~ 9 까지의 수 , y 축도 x와 마찬가지로 0~9 까지의 값으로
y=x 그래프를 만들어 봅시다.
x = np.arange(0,9+1)
y = x
plt.plot(x,y) # plot 함수
plt.savefig('test1.jpg') # 이미지로 저장
plt.show() # 출력
이번에는 Bar 형식의 차트를 만들어 봅시다.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
%matplotlib inline
df = pd.read_csv('../data/pokemon.csv')
df에는 위와 같은 값이 들어있습니다.
'generation_id' 컬럼 데이터로 만들어보겠습니다.
먼저 카테고리컬 데이터인지 확인합니다.
df['generation_id'].nunique()
df['generation_id'].unique()
그 다음 같은 데이터로 이루어진 데이터들을 축으로 삼아 차트를 만듭니다.
df['generation_id'].value_counts()
# value_counts 말고 groupby를 통해 묶어서 구해도 됩니다.
sb.countplot(data= df , x= 'generation_id')
# seaborn 의 countplot로 data에 df인자를, x에 컬럼값을 넣어줍니다.
plt.show()
차트의 색상은 color= '색상'으로 변경이 가능합니다.
base_color = sb.color_palette()[2]
# seaborn의 기본 색상값중 3번째항목
sb.countplot(data= df , x= 'generation_id',color=base_color)
정렬을 하고 싶다면 order='정렬된 index' 으로 가능합니다.
base_order =df['generation_id'].value_counts().index
# x 축값이 generation_id 값이므로 index 값을 가져온다.
base_order = base_order[::-1]
# 가져온 값의 역순으로 만든다.
sb.countplot(data= df , x= 'generation_id',color=base_color,order = base_order)
이번에는 type_1 항목으로 만들어 보겠습니다.
base_order = df['type_1'].value_counts().index
# 정렬을 위한 index 가져오기
sb.countplot(data = df , x = 'type_1',color = base_color,order=base_order)
plt.xticks(rotation = 60)
# x축의 값을 회전시킨다.
plt.show()
또한 데이터의 일부분만을 보고 싶을 때는 order = '컬럼 index' 를 적극 이용한다.
ex) 상위 6개만 나타내어라.
base_order2 = df['type_1'].value_counts().index[0:5+1]
# order 를 위한 base_order2 변수로 index 값을 0~ 5까지의 값만 가져온다.
sb.countplot(data = df , y = 'type_1' , color=base_color , order = base_order2 )
plt.show()
위 코드에서 x = 이 아니라 y= 으로 값을 지정하면 위 사진처럼 나오게 된다.
'개발 > 파이썬' 카테고리의 다른 글
파이썬. Matplotlib - 한글처리방법 (0) | 2022.11.28 |
---|---|
파이썬. Mabplotlib - Pie Charts (0) | 2022.11.28 |
파이썬. DataFrame 합치기 (0) | 2022.11.25 |
파이썬. DataFrame 정렬하기. (0) | 2022.11.25 |
파이썬 . DataFrame 함수 적용하기 (0) | 2022.11.25 |