ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Data Visualization] 데이터 시각화 - matplotlib(4) : pie
    Data Science/Data Visualization 2021. 1. 27. 20:02

     

     

     

     

    Dataset

     

     

     

    seaborn의 tips 데이터셋을 사용해줄게요. 

     

    tips = sns.load_dataset('tips')

     

     

     

     

    파이차트를 그리기 앞서 day를 그룹으로 sum을 구해주었어요 

     

    tips_sum = tips.groupby('day').sum().reset_index()

     

     

     

     

     

     

     

    pie chart

     

     

     

    기본 파이 차트를 그리기 위해서는 plt.pie()를 사용합니다.

    tip의 요일별 비율을 알아보는 파이차트를 그려보겠습니다.

     

    tip = tips_sum['tip']
    
    plt.pie(tip)

     

     

     

     

     

    기본 파이차트로는 아무 정보를 알 수가 없어 label을 설정해주겠습니다. 

    plt.pie()에 labels 를 넣어주면 그래프에 다음과 같은 레이블을 나타낼 수 있습니다. 

     

    tip = tips_sum['tip']
    day = tips_sum['day']
    
    plt.pie(tip,
            labels = day)

     

     

     

     

     

    다른 그래프와 마찬가지로 colors 지정으로 파이차트의 컬러를 바꿀 수 있습니다. 

     

    tip = tips_sum['tip']
    day = tips_sum['day']
    
    plt.pie(tip,
            labels = day,
            colors = ['#fc5c65', '#fed330', '#45aaf2', '#a55eea'])

     

     

     

     

     

    plt.legend()를 입력하면 레이블을 따로 설정해줄 수 있습니다. 

     

    tip = tips_sum['tip']
    day = tips_sum['day']
    
    plt.pie(tip,
            colors = ['#fc5c65', '#fed330', '#45aaf2', '#a55eea'])
    plt.legend(day)
    plt.show()

     

     

     

     

     

    파이차트의 각 항목이 몇 퍼센트인지를 보여주려면 autopct를 활용하면 됩니다.

    소수점 한자리까지를 %와 함께 보여주기 위하여 autopct='%0.1f%%' 을 입력해주었습니다. 

    - 소수점 두자리까지 나타내고 싶다면 autopct='%0.2f%%' 

    - 정수까지만 나타내고 싶다면 autopct='%d%%' 

    - 퍼센트 없이 숫자만 소수점 한자리까지 나타내고 싶다면 %0.1f

     

    tip = tips_sum['tip']
    day = tips_sum['day']
    
    plt.pie(tip,
            colors = ['#fc5c65', '#fed330', '#45aaf2', '#a55eea'],
            autopct='%0.1f%%')   # 소수점 한자리까지 나타내면서 % 붙여주기 
    plt.legend(day)
    plt.show()

     

     

     

     

     

    첫 파이의 시작 각도를 설정하는 startangle 설정으로 12시 방향에서 시작하고 싶다면 90을 입력해주면 되고,

    시계 방향 순서로 보고 싶다면 counterclock = False 을 코드에 입력해주면 됩니다. 

     

    tip = tips_sum['tip']
    day = tips_sum['day']
    
    plt.pie(tip,
            colors = ['#fc5c65', '#fed330', '#45aaf2', '#a55eea'],
            autopct='%0.1f%%',
            startangle = 90,
            counterclock = False)  
    plt.legend(day)
    plt.show()

     

     

     

     

     

    파이차트에 shadow로 그림자를 넣어줄 수도 있고, 

    explode를 활용하여 강조하고 싶은 조각을 조금 빼줄 수도 있습니다. 

     

    tip = tips_sum['tip']
    day = tips_sum['day']
    explodes = (0, 0, 0.1, 0)
    color = ['#fc5c65', '#fed330', '#45aaf2', '#a55eea']
    
    plt.pie(tip,
            colors = color,
            autopct='%0.1f%%',
            startangle = 90,
            counterclock = False,
            explode = explodes,
            shadow = True) 
    plt.title('Pie Chart : Tip', fontweight = 'bold')
    plt.legend(day)
    plt.show()

     

     

     

     

     

Designed by Tistory.