ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Seaborn countplot 그리기
    Python 2024. 1. 7. 06:09
    728x90
    반응형

    - 목차

     

    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()

    반응형
Designed by Tistory.