이러한 포켓몬 7세대까지의 데이터들이 있다고 할 때에
세대별 포켓몬의 마릿수는 어떻게 분포 되어 있는지 막대그래프 형태로 알아보자
우선
이전 까지의 방법으로는 value_count( )와
groupby( )[ ].count( ) 를 이용하여 수치화된 데이터로 알아 볼 수 있었다
seaborn의 .countplot( ) 사용
import seaborn as sb
우선 seaborn 라이브러리를 사용하기위해 임포트를 해주고 타이핑을 줄이기 위해 sb로 줄여보자
sb.countplot(data=df , x= 'generation_id')
plt.show()
그 후 .countplot( ) 을 이용해 막대형 그래프를 만들자
하지만 뭔가 정신없고 여러모로 손을 봐줘야 할 것같다
막대 색상 설정 .color_palette( )[ ]
base_color = sb.color_palette()[0]
우선 막대그래프의 색을 통일 시켜보자
sb.color_palette()[0]
를 이용하여 색을 통일 시킨다 [ ]대괄호 안의 숫자는 다른 숫자를 사용하여
다른 색으로 사용하여도 무관하다
그 후 변수를 넣어 저장하자
sb.countplot(data = df, x = 'generation_id', color = base_color)
plt.show()
그리고 (color = 저장한 변수)를 위의 파라미터 안에 집어넣자
정렬 하는 법 .value_count( ).index
df['generation_id'].value_counts()
위에 그래프에 우리가 필요한 ['generation_id']에 .value_count() 를 입력 하면
generation_id
5 156
1 151
3 135
4 107
2 100
7 86
6 72
Name: count, dtype: int64
이렇게 가장 많은 순서로 정렬이 된다
df['generation_id'].value_counts().index
그리고 뒤에 .index를 추가하면 인덱스만 출력이 되게 된다
Index([5, 1, 3, 4, 2, 7, 6], dtype='int64', name='generation_id')
이렇게
base_order = df['generation_id'].value_counts().index
이것을 base_order라고 변수명을 지정해 저장해주자
sb.countplot(data=df, x= 'generation_id', color=base_color, order=base_order)
plt.show()
그리고 파라미터에 order = base_order로 추가해주자
정렬이 되어 있으니 보기가 편해졌다
역순 정렬 [ : : -1]
reverse_order = base_order[ : : -1]
방금 지정했던 base_order에 [ : : -1]을 하여 역순으로 돌려 reverse_order 라고 저장해주자
sb.countplot(data=df, x= 'generation_id', color=base_color, order=reverse_order)
plt.show()
그리고 이번엔 base_order를 지우고 reverse_order로 입력하면
X.ticks( )
sb.countplot(data=df, x='type_1', color=base_color)
plt.show()
데이터가 많은데 글씨가 길면 이렇게 화면에 보이지 않게 된다
이럴때에는
plt.xticks(rotation = 320)
를 추가하여 320도 회전 시켜주자(각도는 자유)
sb.countplot(data=df, x='type_1', color=base_color)
plt.xticks(rotation = 320)
plt.show()
위의 그래프보다는 보기가 편해졌다
만약 세로형 막대 그래프가 맘에 들지 않는다거나
글씨를 회전시키는게 맘에 들지않는다면 x='type_1'의 x를 y로 바꿔주게 되면
sb.countplot(data=df, y='type_1', color=base_color, order = base_order)
plt.show()
가로형 막대그래프가 되며 글씨도 회전 시킬 이유가 없어진다
그때 그때 적절하게 그래프를 보기 좋게 고쳐보자
'Python > Matplotlib' 카테고리의 다른 글
Matplotlib - Pie 차트(원 형 그래프) .autopct startangle wedgeprops = { 'width' : } (0) | 2024.04.09 |
---|---|
Matplotlib - 상관관계 .scatter( ) .corr( ) .regplot( ) .pairplot( ) (0) | 2024.04.09 |
Matplotlib - hist 히스토그램 2 . subplot( ) .figure( figsize= ( , ) ) (0) | 2024.04.09 |
Matplotlib - hist 히스토그램 1 .hist( ) rwidth= bins= (0) | 2024.04.09 |
Matplotlib - 기초, 직선형 그래프, 저장 .plot( x, y) .savefig( ) (0) | 2024.04.09 |