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

Matplotlib 동일한 플롯에서 여러 선에 이름(레이블) 지정하는 방법

Matplotlib에서 같은 플롯의 여러 선에 이름 지정하기

Matplotlib에서 하나의 플롯에 그려진 여러 선에 각각 이름을 지정하려면 plot() 메서드의 label 인자를 활용하면 됩니다. 지정된 라벨은 legend() 메서드를 통해 범례로 자동 표시됩니다.

전체 과정은 다음 단계로 진행할 수 있습니다.

  • 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
  • 데이터 포인트 두 개의 리스트를 준비합니다.
  • plot() 메서드로 points1points2를 그리면서, 각 호출 시 label 인자로 선의 이름을 지정합니다.
  • legend() 메서드로 그림에 범례를 배치합니다.
  • show() 메서드로 그림을 화면에 출력합니다.

예제 코드

import matplotlib.pyplot as plt

# 그림 크기 및 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 데이터 포인트 준비
points1 = [2, 4, 1, 5, 1]
points2 = [3, 2, 0, 4, 3]

# label 인자로 각 선의 이름 지정
plt.plot(points1, 'g--', label="plot A")
plt.plot(points2, 'r-o', label="plot B")

# 범례 표시
plt.legend()

# 그림 출력
plt.show()

코드 설명

위 코드에서 'g--'는 초록색 점선 스타일을, 'r-o'는 빨간색 실선에 원형 마커를 의미합니다. 각 plot() 호출에 전달된 label 값이 곧 해당 선의 이름이 되며, plt.legend()가 실행되는 순간 좌측 상단에 범례로 함께 나타납니다.

실행 결과

Matplotlib 동일한 플롯에서 여러 선에 이름(레이블) 지정하는 방법

코드를 실행하면 초록색 점선(plot A)과 빨간색 마커 실선(plot B)으로 이루어진 두 개의 선이 한 화면에 그려지고, 각 선의 이름이 담긴 범례가 그래프 위에 표시됩니다. 이처럼 labellegend()만 사용하면 복잡한 설정 없이도 여러 데이터 계열을 직관적으로 구분할 수 있습니다.