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

Matplotlib 기술 도면에서 거리 표시 화살표(치수선) 그리는 방법

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'이 함께 표시됩니다.

Matplotlib 기술 도면에서 거리 표시 화살표(치수선) 그리는 방법