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

Matplotlib로 사각형 안에 원 그리기: 단계별 가이드

Matplotlib에서 사각형 안에 원을 배치하려면 패치(patch) 객체를 활용하면 됩니다. 패치는 도형을 그리는 데 사용되는 기본 요소로, RectangleCircle 클래스를 통해 손쉽게 다양한 도형을 생성할 수 있습니다.

구현 단계

  • figure() 메서드를 사용해 새 그림(figure)을 만들거나 기존 그림을 활성화합니다.
  • 현재 축(axis)에 서브플롯(subplot)을 추가합니다.
  • Rectangle 인스턴스와 Circle 인스턴스를 생성합니다.
  • 생성한 사각형 패치를 현재 축에 추가합니다.
  • 생성한 원 패치를 현재 축에 추가합니다.
  • xlim()ylim() 메서드를 사용해 x축과 y축의 범위를 조정합니다.
  • 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)

rect = patches.Rectangle((2, 2), 8, 5, color='yellow')
circle = patches.Circle((6, 4.5), radius=2, color='red')

ax.add_patch(rect)
ax.add_patch(circle)

plt.xlim([-10, 10])
plt.ylim([-10, 10])
plt.axis('equal')
plt.show()

코드 설명

위 코드에서 patches.Rectangle((2, 2), 8, 5)는 좌표 (2, 2)를 왼쪽 아래 꼭짓점으로 하고, 너비 8, 높이 5인 노란색 사각형을 만듭니다. 이어서 patches.Circle((6, 4.5), radius=2)는 중심 좌표 (6, 4.5)와 반지름 2를 가진 빨간색 원을 생성합니다.

사각형의 중심은 (6, 4.5)이므로, 원의 중심을 동일하게 설정하면 원이 사각형의 정중앙에 위치하게 됩니다. 마지막으로 plt.axis('equal')을 호출하면 x축과 y축의 비율이 동일하게 유지되어 원이 찌그러지지 않고 정확한 원형으로 표시됩니다.

실행 결과

코드를 실행하면 노란색 사각형 안에 빨간색 원이 정중앙에 배치된 그림이 출력됩니다. 이 방식은 다이어그램, 도형 시각화, 데이터 주석 등 다양한 상황에서 응용할 수 있으며, 패치의 색상, 테두리(edgecolor), 투명도(alpha) 등의 속성을 조절해 더욱 풍부한 시각화가 가능합니다.