Matplotlib에서 이미 그려진 선(plot된 라인)에 레이블을 설정해야 하는 경우가 있습니다. 예를 들어 플롯 시점에 레이블을 지정하지 않았거나, 나중에 동적으로 레이블을 변경하고 싶을 때 유용합니다. 이때는 반환된 Line2D 객체의 set_label() 메서드를 사용하면 됩니다.
다음 단계를 따라 진행할 수 있습니다.
figure.figsize로 그림 크기를 설정하고,figure.autolayout으로 서브플롯 주변과 사이의 여백을 자동 조정합니다.- 입력 리스트를 사용하여 선을 그립니다.
- 반환된 선 객체에 대해
set_label()메서드로 레이블을 설정합니다. legend()메서드로 "upper right"(오른쪽 위) 위치에 범례를 배치합니다.- 그림을 화면에 표시하려면
show()메서드를 사용합니다.
예제 코드
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
line, = plt.plot([2, -1, 4, -1, 2])
line.set_label("line")
plt.legend(loc="upper right")
plt.show()코드 설명
plt.plot()은 Line2D 객체의 리스트를 반환합니다. 따라서 line, = plt.plot(...)처럼 쉼표를 사용해 언패킹하면 첫 번째 선 객체를 바로 얻을 수 있고, 이 객체에 set_label("line")을 호출하여 레이블을 지정할 수 있습니다. 이후 plt.legend()를 호출하면 설정된 레이블이 범례에 표시됩니다.
출력 결과
