파이썬 plt 파이 차트 그리기
파이썬에서 파이 차트를 그리면 유용한 경우가 많습니다. 이번 포스팅에서는 matplotlib을 이용하여 파이 차트를 그리고 꾸미는 몇 가지 방법에 대해서 많이 사용하는 기능 위주로 살펴보도록 하겠습니다.
먼저, 다음과 같은 가장 기본적인 파이 차트를 생각해보겠습니다. plt.pie 함수로 간단히 그릴 수 있는데요.
참고로, 파이 차트를 그릴 때에는 input을 Series 형태로 넣어주어야 합니다.
a, b, c, d, e 5개의 영역이 차지하는 영역만 있고, 아무 것도 나와있지 않은 밋밋한 상태의 그래프입니다.
이제 이 파이 차트를 조금씩 꾸며보도록 하겠습니다.
plt 파이 차트 라벨, 영역 비율 퍼센트 표시
가장 먼저, 파이 차트의 라벨과 각 영역의 차지 비율을 퍼센트 형태로 표시해보도록 하겠습니다.
다음 코드처럼 작성해주시면 됩니다.
import matplotlib.pyplot as plt
import pandas as pd
example_series = pd.Series([12, 15, 7, 13, 9], index = ['a', 'b', 'c', 'd', 'e'])
plt.pie(example_series, labels = example_series.index, autopct = '%.1f%%')
plt.show()
label에는 각 영역의 이름을, autopct는 영역 비율 퍼센트를 표시할 포맷팅 형태를 지정해주시면 됩니다.
여기서는 label은 a ~ e까지의 인덱스를, autopct는 소수점 1자릿수 + % 기호 표시 형태로 지정하도록 하겠습니다.
파이 차트에 의미가 조금 더 부여된 듯 합니다!
plt 파이 차트 색 변경, 중심에서 띄우기
이번에는 파이 차트의 색을 변경해보고, 각 칸을 원하는 만큼 중심에서 띄워보도록 하겠습니다.
example_series = pd.Series([12, 15, 7, 13, 9], index = ['a', 'b', 'c', 'd', 'e'])
colors = pd.Series(['gold', 'silver', 'cyan', 'white', 'pink'], index = example_series.index)
explode = pd.Series([0.2, 0.1, 0.05, 0, 0], index = example_series.index)
plt.pie(example_series, labels = example_series.index, autopct = '%.1f%%', colors = colors, explode = explode)
plt.show()
색 변경은 colors 인자를 통해서 진행되는데요, 각 index마다 원하는 색을 지정해주시면 됩니다.
중심에서 각 칸을 원하는 만큼 띄우는 방법은 explode 인자를 통해서 각 index 마다 원하는 숫자를 지정해주시면 됩니다. 위 예제의 실행 결과는 아래와 같습니다.
plt 파이 차트 그림자, 범례 표시
파이 차트에 그림자를 넣어보고, 범례를 원하는 위치에 표시해보도록 하겠습니다. 아래 부분만 다음 코드처럼 바꿔주면 됩니다!
plt.pie(example_series, labels = example_series.index, autopct = '%.1f%%', colors = colors, explode = explode, shadow = True)
plt.legend(loc = (1, 0.5))
plt.show()
shadow 인자를 True로 설정해주면 그림자가 표시됩니다.
plt.legend() 기능을 이용해서 원하는 위치에 범례 표시가 가능합니다.
코드 실행 결과는 아래 그림과 같습니다.
plt 파이 차트 스타일, 제목 표시
부채꼴 형태의 파이 차트도 matplotlib에서는 지원합니다. 원하는 width, linewidth, edgecolor 등을 dictionary 형태로 지정하여 wedgeprops 인자에 지정해주면 됩니다.
또한, pctdistance 인자로 퍼센트 텍스트의 위치를 중심에서 얼마나 멀게 할지를 정할 수 있으며,
제목은 plt.title 함수를 통해서 지정할 수 있습니다.
아래 코드와 실행 결과를 살펴보시면 이해가 쉬울 것으로 생각됩니다.
wedgeprops = {'width': 0.6, 'linewidth': 1, 'edgecolor': 'black'}
plt.pie(example_series, labels = example_series.index, autopct = '%.1f%%', colors = colors, explode = explode, shadow = True, wedgeprops = wedgeprops, pctdistance=0.7)
plt.title('title', size = 15)
plt.legend(loc = (1, 0.5))
plt.show()
이 외에도 파이 차트 범례 진행 방향 변경, 시작 위치 각도 변경, 라벨 위치 멀리 떨어지게 변경, 라벨 텍스트 회전 등 다양한 기능을 matplotlib의 파이 차트에서 지원하고 있습니다. 더 자세한 내용이 궁금하신 분들은 matplotlib에서 제공하는 pie 메소드의 공식 document를 참고하시기를 바랍니다. 이 포스팅에서 다루었던 내용이 파이썬 파이 차트 그리기 과정을 이해하는데에 도움이 되셨다면 좋겠습니다.
'Python > Matplotlib' 카테고리의 다른 글
[Matplotlib] 파이썬 plt 버블 차트(Bubble plot) 예제 (0) | 2021.11.28 |
---|---|
[Matplotlib] plt로 파이썬 3D (3차원) 그래프 그리는 방법 (0) | 2021.11.18 |
[Matplotlib] plt 선, 바 그래프 위에 숫자, 값 표시하는 방법 (0) | 2021.11.12 |