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

Matplotlib 범례 생성 후 수정하는 방법 완벽 가이드

Matplotlib에서 그래프를 그린 후 이미 생성된 범례(legend)를 수정해야 하는 경우가 종종 있습니다. 다행히 Matplotlib는 범례 객체의 다양한 속성을 자유롭게 변경할 수 있는 여러 가지 방법을 제공합니다.

범례 수정 절차

  • 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백을 조정합니다.
  • plot() 메서드를 사용해 두 개의 리스트 데이터와 라벨(label)을 지정하여 선 그래프를 그립니다.
  • legend() 메서드로 그래프 위에 범례를 배치합니다.
  • 생성된 범례 객체에 대해 set_title() 메서드를 호출하여 범례 제목을 수정합니다.
  • show() 메서드로 최종 그림을 화면에 표시합니다.

예제 코드

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

plt.plot([1, 3, 4, 5, 2, 1], [3, 4, 1, 3, 0, 1],
         label="line plot", color='red', lw=0.5)

leg = plt.legend(loc="upper right")
leg.set_title("Title")

plt.show()

실행 결과

위 코드를 실행하면 그래프 오른쪽 상단에 범례가 표시되며, set_title() 메서드 덕분에 해당 범례 상단에 "Title"이라는 제목이 추가된 것을 확인할 수 있습니다.

추가로 알아두면 좋은 범례 수정 옵션

set_title() 외에도 범례 객체는 다음과 같은 유용한 메서드와 속성을 제공합니다.

  • get_texts(): 범례 항목의 텍스트 목록을 가져와 개별 라벨을 변경할 수 있습니다.
  • get_lines(): 범례에 포함된 선 객체에 접근하여 색상이나 선 스타일을 조정할 수 있습니다.
  • set_visible(False): 필요할 때 범례를 화면에서 숨길 수 있습니다.
  • loc 파라미터: 'upper right', 'lower left', 'center' 등 원하는 위치로 범례를 이동시킬 수 있습니다.

이처럼 범례를 변수에 저장해 두면(leg = plt.legend(...)) 생성 이후에도 언제든 속성을 자유롭게 수정할 수 있어, 시각화 결과를 세밀하게 다듬는 데 큰 도움이 됩니다.