오늘은 파이 차트을 만드는 방법에 대해서 알아보도록 하겠습니다.
<목차>
1. 기본 생성법
2. 기능 추가
1) 강조 하기
2) 음영 처리
3) 비율 표시
1. 기본 생성법
기본적으로 파이 차트는 각 요소별 비율을 나타내는 차트입니다.
60,40,30,20 을 가지고 파이차트를 만들어보겠습니다.
각각의 수치에 라벨을 '육십', '사십', '삼십', '이십' 으로 정하겠습니다.
아래의 코드로 실행합니다.
1
2
3
4
5
6
7
8
|
from matplotlib import pyplot as plt
slices = [60,40,30,20]
labels = ['육십','사십','삼십','이십']
plt.pie(slices, labels=labels)
plt.title("파이차트")
plt.tight_layout()
plt.show()
|
cs |
[실행결과]
2. 기능 추가
이렇게 끝내면 심심합니다.
1)한 수치를 강조하기
explode를 활용하여 마치 파이를 잘라내어 꺼낸 듯이 강조할 수 있습니다.
1
2
3
4
5
6
7
8
9
|
from matplotlib import pyplot as plt
slices = [60,40,30,20]
labels = ['육십','사십','삼십','이십']
explode = [0,0,0,0.1]
plt.pie(slices, labels=labels,explode = explode)
plt.title("파이차트")
plt.tight_layout()
plt.show()
|
cs |
'이십'을 강조하기 위해 explode 리스트의 네번째 수치만 0.1로 정해줍니다.
explode에 들어가는 숫자는 0~1 사이의 숫자인데 퍼센트입니다. 즉 0.1은 10%를 뜻합니다. 이 보다 크면 너무
많이 사이가 벌어집니다.
[실행결과]
2) 음영 처리
음영처리를 하여 입체감을 줄 수 있습니다. shadow = True 를 사용해줍니다.
1
2
3
4
5
6
7
8
9
|
from matplotlib import pyplot as plt
slices = [60,40,30,20]
labels = ['육십','사십','삼십','이십']
explode = [0,0,0,0.1]
plt.pie(slices, labels=labels,explode = explode,shadow= True)
plt.title("파이차트")
plt.tight_layout()
plt.show()
|
cs |
[실행결과]
3) 비율 표시
마지막으로 비율을 차트 위에 표시하는 법에 대해서 알아보겠습니다.
비율은 autopct='%1.1f%%' 를 사용합니다. autopct는 autopercent이고
%1.1f%%는 소숫점 한자리까지 나타내는 포멧입니다.
1
2
3
4
5
6
7
8
9
|
from matplotlib import pyplot as plt
slices = [60,40,30,20]
labels = ['육십','사십','삼십','이십']
explode = [0,0,0,0.1]
plt.pie(slices, labels=labels,explode = explode,shadow= True,autopct='%1.2f%%')
plt.title("파이차트")
plt.tight_layout()
plt.show()
|
cs |
[실행결과]
기타 colors 를 이용해 색깔을 지정하는 방법, startangle를 이용하여 차트를 돌리는 방법등의 메서드들을 matplotlib 사이트에서 확인해볼 수 있습니다.
*긴 글 읽어주셔서 감사합니다.
'데이터분석 > Python matplotlib' 카테고리의 다른 글
<Matplotlib> 선 그래프 사이를 채워서 차이 나타내기 (0) | 2021.08.24 |
---|---|
<Python Matplotlib> Stack Plot 누적 그래프 그리기 (0) | 2021.08.20 |
<Python matplotlib> matplotlib 한글 폰트 깨짐 수정[진짜 되는 수정] 따라만 하세요 (0) | 2021.08.16 |
Python matplotlib 사용하기 2. 막대 그래프 [가로로 눕히기] (0) | 2021.08.10 |
Python matplotlib 사용하기 2. 막대 그래프 (0) | 2021.08.08 |