[데이터 시각화] 파이 그래프(matplotlib/pandas)
2020. 4. 27. 12:38ㆍProgramming Language/Python
반응형
■ [matplotlib] 파이 그래프
matplotlib.pyplot.pie(x , [ , options])
- x : x의 각 요소 데이터를 비율로 계산하여 부채꼴을 그리는데 사용
- options : 생략가능
- labels : x축 데이터에 해당되는 라벨 지정
- autopct : 비율이 표시되는 숫자의 형식을 지정 (소수점 첫째 %0.1f , 정수 %0.0f)
- shadow : 그림자 효과 지정 (기본값 : False) [True/False]
- explode : 특정 부채꼴 부분을 강조시 사용 (시퀀스 데이터)
- counterclock : 부채꼴 부분이 그려지는 순서 반시계(True), 시계(False) (기본값 : True)
- startangle : 부채꼴 부분이 그려지는 각도 x축 기준으로 증가 (기본값 : 0)
▶ autopct = '%0.1f%%' : 소수점 첫째 자리 비율 + '%' 출력
▶ startangle = 90 : x축 기준 90도에 위치에서 그래프 시작
▶ shadow = True : 그림자 효과
▶ counterclock = False : 시계방향
▶ explode = (0.1,0,0,0,0) : 축구 데이터 부채꼴만 강조
import matplotlib
import matplotlib.pyplot as plt
# 그래프에 한글 출력시 폰트 변경 (기본폰트 : sans-serif)
matplotlib.rcParams['font.family'] = 'Malgun Gothic'
# 그래프에서 마이너스(-)폰트 깨짐 방지
matplotlib.rcParams['axes.unicode_minus'] = False
# 각 부채꼴 부분의 라벨
exe_name = ['축구', '농구', '야구', '배구', '당구']
# 각 부채꼴 요소의 데이터 값
exe_result = [8, 7 ,2 ,2 ,1]
# 각 부채꼴 강조 시퀀스 데이터
explode_value = (0.1,0,0,0,0)
# 그래프 너비, 높이 지정 ( 기본값 : (6,4) )
plt.figure(figsize=(5,5))
plt.pie(exe_result, labels = exe_name, autopct='%0.1f%%',
startangle= 90, explode=explode_value, shadow= True, counterclock= False)
plt.show()
■ [pandas] 파이 그래프
Series_obj.plot.pie(x , [ , options])
- options : 생략가능
- figsize : 그래프 너비, 높이 지정
- table : 해당 부채꼴 데이터로 테이블 출력
- labels : x축 데이터에 해당되는 라벨 지정
- autopct : 비율이 표시되는 숫자의 형식을 지정 (소수점 첫째 %0.1f , 정수 %0.0f)
- shadow : 그림자 효과 지정 (기본값 : False) [True/False]
- explode : 특정 부채꼴 부분을 강조시 사용 (시퀀스 데이터)
- counterclock : 부채꼴 부분이 그려지는 순서 반시계(True), 시계(False) (기본값 : True)
- startangle : 부채꼴 부분이 그려지는 각도 x축 기준으로 증가 (기본값 : 0)
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
# 그래프에 한글 출력시 폰트 변경 (기본폰트 : sans-serif)
matplotlib.rcParams['font.family'] = 'Malgun Gothic'
# 그래프에서 마이너스(-)폰트 깨짐 방지
matplotlib.rcParams['axes.unicode_minus'] = False
# 각 부채꼴 부분의 라벨
exe_name = ['축구', '농구', '야구', '배구', '당구']
# 각 부채꼴 요소의 데이터 값
exe_result = [8, 7 ,2 ,2 ,1]
# Series 타입 데이터
series_data = pd.Series(exe_result, index=exe_name, name = '구기 종목')
# 각 부채꼴 강조 시퀀스 데이터
explode_value = (0.1,0,0,0,0)
# plt.figure(figsize=(5,5)) 그래프 너비, 높이를 인자로 지정
# 데이터 테이블 출력
plot_pie = series_data.plot.pie(figsize = (5,5), autopct='%0.1f%%',
startangle= 90, explode=explode_value, shadow= True, counterclock= False, table=True)
# 같은 그래프 생성
# ▶ plot_pie = series_data.plot(kind='pie',figsize = (5,5), autopct='%0.1f%%',
# startangle= 90, explode=explode_value, shadow= True, counterclock= False, table=True)
# y축 라벨 삭제
plot_pie.set_ylabel('')
plt.show()
SOURCE CODE
반응형
'Programming Language > Python' 카테고리의 다른 글
[시퀀스 데이터] 리스트(list) 다루기 (0) | 2020.04.29 |
---|---|
[데이터 시각화] 그래프 범례 위치 설정 (0) | 2020.04.29 |
[데이터 시각화] 히스토그램(matplotlib/pandas) (0) | 2020.04.26 |
[데이터 시각화] 막대 그래프(matplotlib/pandas) (0) | 2020.04.25 |
[디자인 시각화] 산점도 (matplotlib/pandas) (0) | 2020.04.24 |