-
Seaborn countplot 그리기Python 2024. 1. 7. 06:09728x90반응형
- 목차
countplot 그리기.
countplot 은 입력 데이터셋의 Categorical 데이터의 갯수를 셈하여 시각화하는 함수입니다.
아래의 케이스에서 A, B, C 데이터가 존재하구요.
각각의 데이터의 갯수를 BarChart 로 제공합니다.
import seaborn as sns import matplotlib.pyplot as plt data = { 'Category': ['A', 'B', 'A', 'A', 'B', 'C', 'C', 'A', 'B', 'C', 'A', 'A', 'B', 'B', 'C', 'C', 'C'] } import pandas as pd df = pd.DataFrame(data) sns.set(style="darkgrid") plt.figure(figsize=(8, 6)) sns.countplot(x='Category', data=df, palette='viridis') plt.title('Count Plot of Categories') plt.show()
색상 설정하기 (Palette).
BarGraph 의 색상을 변경할 수 있습니다.
'deep', 'muted', 'viridis' 에 해당하는 built-in palette 를 설정할 수 있고,
원하는 색상을 리스트 형식으로 직접 지정할 수도 있습니다.
import seaborn as sns import matplotlib.pyplot as plt data = { 'Category': ['A', 'B', 'A', 'A', 'B', 'C', 'C', 'A', 'B', 'C', 'A', 'A', 'B', 'B', 'C', 'C', 'C'] } import pandas as pd df = pd.DataFrame(data) sns.set(style="darkgrid") plt.figure(figsize=(8, 6)) custom_palette = ["#0000ff", "#f00fff", "#00ffff", "#0fffff"] sns.countplot(x='Category', data=df, palette=custom_palette) plt.title('Count Plot of Categories') plt.show()
Python List 로 countplot 그리기.
Pandas DataFrame 을 사용하지 않고 countplot 그래프를 그릴 수 있습니다.
import seaborn as sns import matplotlib.pyplot as plt data = ['A', 'B', 'A', 'A', 'B', 'C', 'C', 'A', 'B', 'C', 'A', 'A', 'B', 'B', 'C', 'C', 'C'] sns.set(style="darkgrid") plt.figure(figsize=(8, 6)) custom_palette = ["#0000ff", "#f00fff", "#00ffff", "#0fffff"] sns.countplot(x=data, palette=custom_palette) plt.title('Count Plot of Categories') plt.show()
그래프 Transpose 하기 ( X-Y 축 변경 ).
countplot 는 x 와 y 인자를 가집니다.
수직 방향의 그래프를 그리고 싶다면 데이터를 x 의 값으로 설정해야하고,
반대로, 수평 방향의 그래프를 그리고 싶다면 데이터를 y 의 값으로 설정해야합니다.
import seaborn as sns import matplotlib.pyplot as plt data = ['A', 'B', 'A', 'A', 'B', 'C', 'C', 'A', 'B', 'C', 'A', 'A', 'B', 'B', 'C', 'C', 'C'] sns.set(style="darkgrid") plt.figure(figsize=(8, 6)) custom_palette = ["#0000ff", "#f00fff", "#00ffff", "#0fffff"] sns.countplot(y=data, palette=custom_palette) plt.title('Count Plot of Categories') plt.show()
hue - subcategory 로 그래프 그리기.
countplot 의 hue 인자를 통해서 subcategory 로 분류형 데이터의 수치를 표현할 수 있습니다.
아래의 예시는 나이별 count 를 보여주는 그래프이면서
나이별로 거주 도시 (cities) 의 수치를 확인할 수 있습니다.
import seaborn as sns import matplotlib.pyplot as plt data = { "Names": ["Andy", "Bob", "Chris", "Daniel", "Fabian", "Emily", "Gareth", "Hayden", "Illa"], "Ages": [33, 32, 33, 31, 32, 32, 33, 31, 32], "Cities": ["Seoul", "Daegu", "Seoul", "Busan", "Busan", "Daegu", "Seoul", "Seoul", "Busan"], } sns.set_style("whitegrid") sns.countplot(x="Ages", hue="Cities", data=data, palette="muted") plt.show()
Tick Rotation 적용하기.
tick_params 설정으로 통해서 tick 의 방향을 제어할 수 있습니다.
rotation 은 Tick 의 방향을 변경하는 옵션인데요.
rotation 이 90 인 경우에는 90도 회전하여 수직 방향으로 Tick 의 워딩이 그려집니다.
import seaborn as sns import matplotlib.pyplot as plt data = { "Names": ["Andy", "Bob", "Chris", "Daniel", "Fabian", "Emily", "Gareth", "Hayden", "Illa"], "Ages": [33, 32, 33, 31, 32, 32, 33, 31, 32], "Cities": ["Seoul", "Daegu", "Seoul", "Busan", "Busan", "Daegu", "Seoul", "Seoul", "Busan"], } sns.set_style("whitegrid") sns.countplot(x="Ages", hue="Cities", data=data, palette="muted") plt.tick_params(axis='x', rotation=90) plt.show()
반응형'Python' 카테고리의 다른 글
[python] datetime 여러 활용법 알아보기 ( datetime, timezone, truncate) (0) 2024.01.10 Seaborn heatmap 그리기 (0) 2024.01.07 [Pandas] rolling function 알아보기 (0) 2023.12.03 [numpy] axis 사용법 ( min, max, sum ) 알아보기 (0) 2023.09.06 [Pandas] stack 사용하여 Pivot Table 만들기 ( pivot_table ) (0) 2023.07.10