[데이터 시각화] 파이 그래프(matplotlib/pandas)

2020. 4. 27. 12:38Programming 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

 

hyunmin94/hyunmin

Contribute to hyunmin94/hyunmin development by creating an account on GitHub.

github.com

반응형