Matplotlib에서 기술 도면처럼 두 지점 간의 거리를 나타내는 화살표(치수선)를 그리려면 annotate() 메서드와 arrowprops(화살표 속성)를 함께 활용하면 됩니다. 이 방법은 도면에서 흔히 볼 수 있는 양방향 화살표와 거리 레이블을 간단하게 구현할 수 있어 매우 유용합니다.
구현 단계
그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 여백을 자동으로 조정합니다.
axhline() 메서드를 사용하여 y=3.5 위치에 가로 기준선을 추가합니다.
같은 방식으로 y=2.5 위치에 두 번째 가로 기준선을 추가합니다.
annotate() 메서드를 사용해 두 가로선 사이의 거리를 나타내는 양방향 화살표(
<->)를 그립니다. 바로 다음 문장에서 annotate() 메서드를 한 번 더 호출하여 화살표 옆에 실제 거리 값($d=1$)을 텍스트로 표시합니다.show() 메서드를 호출하여 최종 그림을 화면에 출력합니다.
예제 코드
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.axhline(3.5)
plt.axhline(2.5)
plt.annotate(
'', xy=(0.5, 3.5), xycoords='data',
xytext=(0.5, 2.5), textcoords='data',
arrowprops={'arrowstyle': '<->'})
plt.annotate(
'$\it{d=1}$', xy=(0.501, 3.0), xycoords='data',
xytext=(0.5, 3.5), textcoords='offset points')
plt.show()실행 결과
위 코드를 실행하면 두 개의 가로선과 그 사이를 연결하는 양방향 화살표가 그려지고, 화살표 옆에는 이탤릭체로 거리 값 'd=1'이 함께 표시됩니다.
