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

Matplotlib에서 패치(Patch)에 레이블 지정하는 방법

Matplotlib에서 사각형(Rectangle)과 같은 패치(patch) 객체를 그래프에 추가하고 범례(legend)를 통해 레이블을 표시하는 방법을 소개합니다. 패치에 label 매개변수를 지정하면 범례에 해당 이름이 자동으로 나타나 시각화 결과를 더욱 명확하게 전달할 수 있습니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변의 여백(padding)을 조정합니다.
  • 사각형 패치의 중심 좌표를 초기화합니다.
  • 새로운 figure를 생성하거나 기존 figure를 활성화합니다.
  • 서브플롯 배치의 일부로 figure에 축(ax)을 추가합니다.
  • add_patch() 메서드를 사용해 axes에 사각형 패치를 추가합니다. 이때 label 인자에 원하는 레이블 이름을 지정합니다.
  • plt.legend()를 호출하여 figure에 범례를 표시합니다.
  • show() 메서드로 최종 그래프를 화면에 출력합니다.

예제 코드

import matplotlib.pyplot as plt
import matplotlib.patches as patches

# 그림 크기 및 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 사각형 패치의 시작 좌표 설정
x = y = 0.1
fig = plt.figure()
ax = fig.add_subplot(111)

# 빨간색 반투명 사각형 패치를 추가하고 레이블 지정
patch = ax.add_patch(patches.Rectangle((x, y), 0.5, 0.5, alpha=0.5, facecolor='red', label='Rectangle'))

# 오른쪽 상단에 범례 표시
plt.legend(loc='upper right')

plt.show()

실행 결과

위 코드를 실행하면 좌표 (0.1, 0.1)에서 시작하는 너비와 높이가 각각 0.5인 빨간색 반투명 사각형이 그려지며, 그래프의 오른쪽 상단에는 'Rectangle'이라는 레이블이 포함된 범례가 함께 표시됩니다.

핵심 포인트

패치에 레이블을 지정하는 핵심은 patches.Rectangle() 생성 시 label 매개변수를 전달하는 것입니다. 이후 plt.legend()를 호출하기만 하면 지정한 레이블이 범례에 자동으로 반영됩니다. 이 방식은 여러 개의 패치를 사용하는 복잡한 시각화에서도 각 요소를 구분하는 데 유용하게 활용할 수 있습니다.