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

Python Matplotlib에서 범례(Legend)에 특정 항목만 표시하는 방법

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로 설정되어 있어 범례 주변에 테두리 상자가 함께 그려집니다.

실행 결과

Python Matplotlib에서 범례(Legend)에 특정 항목만 표시하는 방법

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