[시각화 도구/Matplotlib - 기본 그래프 도구] 파이 차트
2022. 11. 17. 13:29
파이 차트는 원을 파이 조각처럼 나누어서 표현한다.
조각의 크기는 해당 변수에 속하는 데이터 값의 크기에 비례한다.
plot() 메소드에 kind='pie' 옵션을 사용하여 그린다.
# 예제 4-23
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('default')
df = pd.read_csv('auto-mpg.csv', header=None)
df.columns = ['mpg', 'cylinders', 'displacement', 'horsepower', 'weight', 'acceleration', 'model year', 'origin', 'name']
df['count'] = 1
df_origin = df.groupby('origin').sum()
print(df_origin.head())
df_origin.index = ['USA', 'EU', 'JPN']
df_origin['count'].plot(kind='pie', figsize=(7, 5), autopct='%1.1f%%', startangle=10, colors=['chocolate', 'bisque', 'cadetblue'])
plt.title('Model Origin', size=20)
plt.axis('equal')
plt.legend(labels=df_origin.index, loc='upper right')
plt.show()
위 예제에서는 데이터 개수를 세기 위해 숫자 1을 원소로 갖는 'count'열을 먼저 만든다.
그리고 groupby() 메소드를 사용하여 데이터프레임 df의 모든 데이터를 'origin' 열 값인 '1'(=USA), '2'(=EU), '3'(=JPN)을 기준으로 3개의 그룹으로 나눈다.
sum() 메소드로 각 그룹별 합계를 집계하여 df_origin 변수에 저장한다.
각 제조국가별로 데이터 값들의 합계가 계산되는데, 우리가 필요한 데이터는 'count' 열이다.
여기에 plot() 메소드를 적용하면 국가별 점유율을 나타내는 파이 차트를 그린다.
'%1.1f%%' 옵션은 숫자를 퍼센트로 나타내는데, 소수점 이하 첫째자리까지 표기한다는 뜻이다.
![]() |
|
'공부 > 파이썬 머신러닝 판다스 데이터 분석' 카테고리의 다른 글
[시각화 도구/Seaborn 라이브러리 - 고급 그래프 도구] (0) | 2022.11.22 |
---|---|
[시각화 도구/Matplotlib - 기본 그래프 도구] 박스 플롯 (0) | 2022.11.17 |
[시각화 도구/Matplotlib - 기본 그래프 도구] 산점도 (0) | 2022.11.17 |
[시각화 도구/Matplotlib - 기본 그래프 도구] 히스토그램 (0) | 2022.11.17 |
[시각화 도구/Matplotlib - 기본 그래프 도구] 막대 그래프 (1) | 2022.11.16 |