Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib 파이 차트에 범례(Legend)를 추가하는 방법

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)이 각각 빨강, 파랑, 초록, 노랑 색상으로 표현된 파이 차트가 생성되고, 차트 옆에는 해당 색상과 레이블이 연결된 범례가 함께 표시됩니다.