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

Matplotlib로 원 안에 텍스트 배치하는 방법

Matplotlib에서 원 안에 텍스트를 배치하는 것은 Circle 패치와 text() 메서드를 조합하면 간단하게 구현할 수 있습니다. 이 글에서는 단계별 절차와 함께 실제 동작하는 코드 예제를 소개합니다.

구현 단계

  • figure() 메서드를 사용해 새 그림(Figure)을 생성하거나 기존 그림을 활성화합니다.

  • add_subplot() 메서드로 현재 축(Axes)에 서브플롯을 추가합니다.

  • Circle() 클래스를 사용해 원(Circle) 인스턴스를 생성합니다.

  • add_patch() 메서드로 플롯 위에 원 패치를 추가합니다.

  • 원 안에 텍스트를 배치하려면 text() 메서드를 사용합니다.

  • xlim()ylim() 메서드로 x축과 y축의 표시 범위를 설정합니다.

  • axis('equal')을 지정하면 원이 찌그러지지 않고 정확한 원형으로 표시됩니다.

  • 그림을 화면에 표시하려면 show() 메서드를 호출합니다.

예제 코드

import matplotlib
from matplotlib import pyplot as plt, patches

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.add_subplot(111)

circle = matplotlib.patches.Circle((0, 0), radius=1, color='yellow')
ax.add_patch(circle)

plt.text(-.25, 0, "This is a Circle")
plt.xlim([-4, 4])
plt.ylim([-4, 4])
plt.axis('equal')

plt.show()

코드 설명

Circle((0, 0), radius=1)은 좌표 (0, 0)을 중심으로 하고 반지름이 1인 원을 의미합니다. 색상은 color='yellow' 옵션으로 노란색으로 지정했습니다.

text(-.25, 0, "This is a Circle")는 좌표 (-0.25, 0) 위치에 문자열을 배치합니다. 이 위치가 원의 중심 근처에 있기 때문에 텍스트가 원 안에 들어가 보이게 됩니다. 텍스트가 정확히 중앙에 오도록 하려면 ha='center', va='center' 옵션을 추가하고 좌표를 (0, 0)으로 설정하는 것이 좋습니다.

실행 결과

위 코드를 실행하면 노란색 원의 중앙 부근에 "This is a Circle"이라는 텍스트가 함께 표시된 그림이 출력됩니다.

마무리

이 방식은 다이어그램, 도식, 데이터 시각화에서 특정 영역을 강조하거나 레이블을 삽입할 때 유용하게 활용할 수 있습니다. 원의 크기와 텍스트 위치만 적절히 조절하면 다양한 시각화 요구에 맞춰 응용할 수 있습니다.