데이터 시각화에서 두 점을 연결하는 선분은 거리 관계나 추세를 표현할 때 자주 사용됩니다. Matplotlib에서는 plot() 메서드를 활용하면 간단하게 두 점 사이에 선분을 그릴 수 있습니다. 아래에서 단계별로 살펴보겠습니다.
구현 단계
- figure 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- 두 개의 점을 나타내기 위해 두 개의 리스트를 생성합니다.
- point1과 point2에서 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_values와 y_values입니다. 각 점의 좌표를 별도의 리스트로 분리한 후, 이를 plot() 메서드에 전달하면 두 점이 하나의 선으로 연결됩니다. 이때 'bo'는 파란색 원형 마커를 의미하고, linestyle="--" 옵션은 점선 스타일의 선분을 그리도록 지정합니다.
또한 text() 메서드를 사용하면 각 점 근처에 'Point1', 'Point2'와 같은 레이블을 추가할 수 있어 그래프의 가독성이 크게 향상됩니다. 좌표에 약간의 오프셋을 더해 텍스트가 마커와 겹치지 않도록 조정한 점도 눈여겨볼 만합니다.
실행 결과
코드를 실행하면 좌표 (1, 2)와 (3, 4)에 위치한 두 개의 파란색 점이 점선으로 연결된 그래프가 출력되며, 각 점 옆에는 해당 점의 이름이 표시됩니다.
실선 대신 점선이 아닌 다른 스타일을 원한다면 linestyle="-"(실선) 또는 linestyle=":"(점선) 등으로 변경하면 됩니다. 이 방법은 선분뿐만 아니라 여러 점을 연결하는 폴리라인(polyline)을 그릴 때도 동일하게 응용할 수 있습니다.