Matplotlib에서 hlines() 함수는 축을 가로지르는 수평선을 그리는 데 사용됩니다. 이때 각 수평선에 레이블(텍스트)을 함께 표시하려면 plt.text()를 활용하면 됩니다. 아래 단계별로 살펴보겠습니다.
구현 단계
- 그림 크기를 설정하고 서브플롯 주변의 여백(padding)을 조정합니다.
- 축 전체에 걸쳐 y=1 위치에 주황색(orange) 수평선을 그리고, 선 옆에 'y=1' 레이블을 추가합니다.
- 같은 방식으로 y=2 위치에 빨간색(red) 수평선을 그리고, 'y=2' 레이블을 추가합니다.
show()메서드를 사용해 그림을 화면에 출력합니다.
예제 코드
import matplotlib.pyplot as plt # 그림 크기 설정 plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True # 첫 번째 수평선 추가 (y=1, 주황색) plt.hlines(y=1, xmin=1, xmax=4, lw=7, color='orange') plt.text(4, 1, 'y=1', ha='left', va='center') # 두 번째 수평선 추가 (y=2, 빨간색) plt.hlines(y=2, xmin=2, xmax=5, lw=7, color='red') plt.text(2, 2, 'y=2', ha='right', va='center') plt.show()
출력 결과
위 코드를 실행하면 두 개의 굵은 수평선이 그려지고, 각 선의 끝부분에 해당하는 레이블('y=1', 'y=2')이 함께 표시됩니다.


핵심 포인트 정리
- hlines(y, xmin, xmax): y 위치에 xmin부터 xmax까지 수평선을 그립니다.
lw(선 두께)와color매개변수로 스타일을 지정할 수 있습니다. - text(x, y, 문자열): 지정한 좌표에 텍스트를 배치합니다.
ha(수평 정렬)와va(수직 정렬)를 조절하면 선 기준으로 레이블 위치를 세밀하게 맞출 수 있습니다.
이처럼 hlines() 자체에는 레이블 표시 기능이 없기 때문에, text()를 조합하여 사용하는 것이 가장 일반적이고 간단한 방법입니다.