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

Matplotlib에서 두 점 사이에 선분 그리기: 단계별 가이드

데이터 시각화에서 두 점을 연결하는 선분은 거리 관계나 추세를 표현할 때 자주 사용됩니다. Matplotlib에서는 plot() 메서드를 활용하면 간단하게 두 점 사이에 선분을 그릴 수 있습니다. 아래에서 단계별로 살펴보겠습니다.

구현 단계

  • figure 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
  • 두 개의 점을 나타내기 위해 두 개의 리스트를 생성합니다.
  • point1point2에서 x값과 y값을 각각 추출합니다.
  • plot() 메서드를 사용하여 x값과 y값을 플롯합니다.
  • 각 점의 위치에 텍스트 레이블을 배치합니다.
  • show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
point1 = [1, 2]
point2 = [3, 4]
x_values = [point1[0], point2[0]]
y_values = [point1[1], point2[1]]
plt.plot(x_values, y_values, 'bo', linestyle="--")
plt.text(point1[0]-0.015, point1[1]+0.25, "Point1")
plt.text(point2[0]-0.050, point2[1]-0.25, "Point2")
plt.show()

코드 설명

위 코드에서 핵심 부분은 x_valuesy_values입니다. 각 점의 좌표를 별도의 리스트로 분리한 후, 이를 plot() 메서드에 전달하면 두 점이 하나의 선으로 연결됩니다. 이때 'bo'는 파란색 원형 마커를 의미하고, linestyle="--" 옵션은 점선 스타일의 선분을 그리도록 지정합니다.

또한 text() 메서드를 사용하면 각 점 근처에 'Point1', 'Point2'와 같은 레이블을 추가할 수 있어 그래프의 가독성이 크게 향상됩니다. 좌표에 약간의 오프셋을 더해 텍스트가 마커와 겹치지 않도록 조정한 점도 눈여겨볼 만합니다.

실행 결과

코드를 실행하면 좌표 (1, 2)와 (3, 4)에 위치한 두 개의 파란색 점이 점선으로 연결된 그래프가 출력되며, 각 점 옆에는 해당 점의 이름이 표시됩니다.

실선 대신 점선이 아닌 다른 스타일을 원한다면 linestyle="-"(실선) 또는 linestyle=":"(점선) 등으로 변경하면 됩니다. 이 방법은 선분뿐만 아니라 여러 점을 연결하는 폴리라인(polyline)을 그릴 때도 동일하게 응용할 수 있습니다.