Matplotlib으로 그래프를 그릴 때 여러 개의 선을 한 번에 플롯하는 경우가 많습니다. 이때 plt.legend() 함수를 사용하면 범례를 추가할 수 있는데, 리스트 형태로 원하는 값만 전달하면 특정 항목만 선택적으로 표시할 수 있습니다.
구현 단계
plt.xlabel()메서드로 X축 라벨을 설정합니다.plt.ylabel()메서드로 Y축 라벨을 설정합니다.plot()메서드의 인자로 리스트를 전달하여 여러 개의 선을 그립니다.loc매개변수는 범례의 위치를 지정하며,frameon플래그를 True로 설정하면 범례 테두리가 표시됩니다.범례에 "blue"와 "orange" 항목만 담아 설정합니다.
plt.show()메서드를 호출하여 최종 그래프를 화면에 출력합니다.
예제 코드
import matplotlib.pyplot as plt
plt.ylabel("Y-axis ")
plt.xlabel("X-axis ")
plt.plot([9, 5], [2, 5], [4, 7, 8])
location = 0 # 가장 적합한 위치 자동 지정
legend_drawn_flag = True
plt.legend(["blue", "orange"], loc=0, frameon=legend_drawn_flag)
plt.show()코드 설명
위 예제에서 주목해야 할 부분은 plt.legend() 호출입니다. 첫 번째 인자로 전달된 리스트 ["blue", "orange"]에는 범례에 표시하고 싶은 항목의 이름만 담겨 있습니다. 그래프에 실제로 그려진 선이 더 많더라도, 이 리스트에 포함된 항목만 범례에 나타나게 됩니다.
loc=0은 'best' 옵션으로, Matplotlib이 데이터와 겹치지 않도록 범례의 최적 위치를 자동으로 찾아줍니다. 또한 frameon=True로 설정되어 있어 범례 주변에 테두리 상자가 함께 그려집니다.
실행 결과

실행 결과를 보면 그려진 선과 무관하게 범례에는 "blue"와 "orange" 두 항목만 표시된 것을 확인할 수 있습니다. 이 방식을 활용하면 복잡한 그래프에서도 사용자에게 필요한 정보만 깔끔하게 전달할 수 있습니다.