1. 한글 폰트

🍓  그래프에서 한글을 표시하고 싶으면 matplotlib에서 사용하는 폰트를 한글 폰트로 지정해야 함

# 기본 폰트는 아래 방법을 사용해서 알 수 있다
import matplotlib
print(matplotlib.rcParams['font.family'])
# ['sans-serif']
# 폰트를 변경하려면 다음과 같이 수행.
matplotlib.rcParams['font.family'] = '폰트 이름'
matplotlib.rcParams['axes.unicode_minus'] = False


    📍 폰트를 변경하지 않으면 기본 폰트는 'sans-serif'

    📍 matplotlib.rcParams['axes.unicode_minus'] = False  

          ▶️ 한글 폰트를 지정한 후에 그래프에서 마이너스(-) 폰트가 깨지는 문제를 해결해 줌

 

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

# 폰트 변경
matplotlib.rcParams['font.family'] = 'AppleGothic'
matplotlib.rcParams['axes.unicode_minus'] = False

x = np.arange(0, 5, 1)
y1 = x
y2 = x + 1
y3 = x + 2
y4 = x + 3

plt.plot(x, y1, '>-r', x, y2, 's-g', x, y3, 'd:b', x, y4, '-.Xc')
plt.legend(['데이터1', '데이터2', '데이터3', '데이터4'], loc='best')
plt.xlabel('X 축')
plt.ylabel('Y 축')
plt.title('그래프 제목')
plt.grid(True)
plt.show()

출력 결과

 


 

2. 파이 그래프  Pie chart

 

🍓  파이 그래프는 범주별 구성 비율을 원형으로 표현한 그래프
🍓  파이 그래프에서 부채꼴 부분의 크기는 각 항목의 크기에 비례
🍓  전체 데이터에서 각 항목이 차지한 비율을 비교할 때 많이 사용

plt.pie(x [, labels=label_seq, autopct='비율 표시 형식(ex: %0.1f)', 
             shadow=False(기본) 혹은 True, explode=explode_seq, 
             counterClock=True(기본) 혹은 False, startangle=각도 (기본은 0)])

 

    📍 'x' : 배열 확인 시퀀스 형태의 데이터
           ➡️ pie()는 x의 각 요소가 전체에서 차지하는 비율을 계산하고 그 비율에 맞게 부채꼴 크기를 결정해서 파이 그래프를 생성
    📍 'labels' : x 데이터 항목의 수와 같은 문자열 시퀀스(리스트, 튜플)을 지정해 각 부채꼴 이름 지정
    📍 'autopct' : 각 부채꼴 부분의 항목의 비율이 표시되는 숫자의 형식을 지정
           ➡️ 예를 들어 '%0.1f' - 소수점 첫째 자리까지 표시, '%0.0f' - 정수만 표시
           ➡️ '%0.1f%%'  - %를 추가 
    📍 'shadow' : 그림자 효과를 지정. 기본 값은 False
    📍 'explode' : 부채꼴 부분이 원에서 돌출되는 효과. 기본 값은 강조 효과가 없음
    📍 'counterClock' : x 데이터에서 부채꼴 부분이 그려지는 순서가 반시계방향(True)인지 시계방향(False)인지를 지정. 기본값은 True로 반시계 방향
    📍 'startangle' : 제일 처음 부채꼴 부분이 그려지는 각도로 x축을 중심으로 반시계 방향으로 증가. 기본값은 0

 

plt.figure(figsize = (w, h))

 

 

    📍 w와 h는 그래프의 너비 width와 높이 height 를 의미. 단위는 인치 inch.
    📍 값을 지정하지 않으면 (w, h)의 기본값은 (6, 4)
    📍 w와 h를 같은 값으로 지정하면 생성되는 그래프는 가로와 세로의 비율은 1 대 1이 됨

 


import matplotlib
import matplotlib.pyplot as plt

# 한글 폰트 사용
matplotlib.rcParams['font.family'] = 'AppleGothic'
matplotlib.rcParams['axes.unicode_minus'] = False

fruit = ['사과', '바나나', '딸기', '오렌지', '포도']
result = [7, 6, 3, 2, 2]

plt.pie(result)
plt.show()

출력 결과


# 크기를 변경해서 출력
plt.figure(figsize=(7, 7))
plt.pie(result)
plt.show()

출력 결과


# 각 부채꼴 부분에 속하는 데이터의 라벨과 비율을 추가
plt.figure(figsize=(7, 7))
plt.pie(result, labels=fruit, autopct='%.1f%%')
plt.show()

출력 결과


# 각 부채꼴 부분은 x축 기준 각도 0도를 시작으로 반시계 방향으로 그려짐
# x축 기준 각도 90도에서 시작해서 시계방향으로 그리는 예

plt.figure(figsize=(7, 7))
plt.pie(result, labels=fruit, autopct='%.1f%%', startangle=90, counterclock=False)
plt.show()

출력 결과


# 그림자를 추가하고 특정 요소(사과)를 표시한 부채꼴 부분만 강조한 예.
explode_value = (0.1, 0, 0, 0, 0)
# 0.1 : 반지름의 10% 만큼 벗어나도록 설정.

plt.figure(figsize=(7, 7))
plt.pie(result, labels=fruit, autopct='%.1f%%', startangle=90, 
        counterclock=False, explode=explode_value, shadow=True)
plt.show()

출력 결과

 

 

 

[ 내용 참고 : IT학원 강의 및 위키독스 ]

+ Recent posts