-
[Data Visualization] 데이터 시각화 - matplotlib(4) : pieData 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()
'Data Science > Data Visualization' 카테고리의 다른 글
[Data Visualization] folium으로 지도에 데이터 시각화하기 (0) 2021.07.25 [Data Visualization] 데이터 시각화 - plotly : Interactive scatter plot (0) 2021.07.13 [Data Visualization] 데이터 시각화 - matplotlib(3) : hist (0) 2021.01.25 [Data Visualization] 데이터 시각화 - matplotlib(2) : scatter, bar, barh (0) 2021.01.24 [Data Visualization] 데이터 시각화 - matplotlib(1) (0) 2021.01.18