Matplotlib에서 edgecolor(테두리 색상)가 적용된 원을 그리려면 아래 단계를 순서대로 따르면 됩니다.
구현 단계
- figure() 메서드를 사용해 새 그림(figure)을 생성하거나 기존 그림을 활성화합니다.
- 현재 축에 add_subplot() 메서드를 추가합니다.
- Circle() 클래스를 사용해 원 인스턴스를 생성하면서 테두리 색상(edgecolor)과 테두리 두께(linewidth)를 지정합니다.
- 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, edgecolor="orange", linewidth=7)
ax.add_patch(circle)
plt.text(-.25, 0, "Circle")
plt.xlim([-4, 4])
plt.ylim([-4, 4])
plt.axis('equal')
plt.show()실행 결과
위 코드를 실행하면 중앙에 주황색(oragne) 테두리를 가진 원이 그려지고, 원 안쪽에는 'Circle'이라는 텍스트가 함께 표시됩니다.

핵심 포인트 정리
- Circle((x, y), radius=r): 중심 좌표와 반지름으로 원을 정의합니다.
- edgecolor: 테두리 색상을 지정하며, 색상 이름('orange'), HEX 코드('#FFA500') 등 다양한 방식으로 설정할 수 있습니다.
- linewidth: 테두리 선의 두께를 조절합니다. 값이 클수록 굵은 테두리가 그려집니다.
- facecolor='none' 옵션을 추가하면 내부가 투명한 원(테두리만 있는 원)도 그릴 수 있습니다.