Matplotlib의 파이 차트(원형 차트)에 범례를 추가하는 것은 생각보다 간단합니다. pie() 메서드로 차트를 그린 후, legend() 메서드를 활용하면 손쉽게 범례를 표시할 수 있습니다. 아래에서 단계별로 자세히 알아보겠습니다.
파이 차트에 범례 추가하기
Matplotlib 파이 차트에 범례를 추가하려면 다음 단계를 순서대로 따라 하면 됩니다.
- 그림(figure) 크기를 설정하고, 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
- 레이블(labels), 색상(colors), 크기(sizes) 목록을 준비합니다.
- pie() 메서드를 호출하여 색상과 크기가 적용된 패치(patches)와 텍스트(texts)를 반환받습니다.
- 반환받은 패치와 레이블을 이용해 플롯 위에 범례를 배치합니다.
- 축 범위를 조정하여 등비율 스케일링(equal scaling)을 설정합니다. 이렇게 하면 차트가 완전한 원형으로 표시됩니다.
- 마지막으로 show() 메서드를 호출하여 그림을 화면에 출력합니다.
예제 코드
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
labels = ['Walk', 'Talk', 'Sleep', 'Work']
sizes = [23, 45, 12, 20]
colors = ['red', 'blue', 'green', 'yellow']
patches, texts = plt.pie(sizes, colors=colors, shadow=True, startangle=90)
plt.legend(patches, labels, loc="best")
plt.axis('equal')
plt.show()코드 설명
위 예제 코드의 핵심 부분을 살펴보겠습니다.
- plt.rcParams["figure.figsize"]: 그림의 가로·세로 크기를 인치 단위로 지정합니다.
- plt.rcParams["figure.autolayout"]: True로 설정하면 요소들이 잘리지 않도록 레이아웃이 자동으로 조정됩니다.
- startangle=90: 첫 번째 조각이 12시 방향에서 시작되도록 회전 각도를 지정합니다.
- shadow=True: 파이 차트에 그림자 효과를 추가해 입체감을 줍니다.
- plt.legend(patches, labels, loc="best"): 패치와 레이블을 매핑하여 범례를 생성하며, loc="best" 옵션은 겹치지 않는 최적의 위치에 범례를 자동으로 배치합니다.
- plt.axis('equal'): x축과 y축의 비율을 동일하게 맞춰 파이 차트가 타원이 아닌 정확한 원형으로 나타나도록 합니다.
실행 결과
위 코드를 실행하면 네 가지 항목(Walk, Talk, Sleep, Work)이 각각 빨강, 파랑, 초록, 노랑 색상으로 표현된 파이 차트가 생성되고, 차트 옆에는 해당 색상과 레이블이 연결된 범례가 함께 표시됩니다.