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

Matplotlib 범례 프레임의 선 너비 지정하는 방법

Matplotlib에서 그래프의 범례(legend) 테두리 선 너비를 조절하고 싶다면, 범례 객체가 제공하는 set_linewidth() 메서드를 활용하면 됩니다.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백을 자동으로 조정합니다.
  • NumPy를 사용해 xy 데이터 포인트를 생성합니다.
  • subplots() 메서드로 figure와 axes를 생성합니다.
  • plot() 메서드를 사용해 x, y 데이터를 그래프로 그립니다.
  • legend() 메서드로 범례를 배치하고, 해당 범례 인스턴스를 변수에 저장합니다.
  • 범례 내부의 라인 객체에 접근하여 set_linewidth()로 선 너비를 변경합니다.
  • show() 메서드를 호출하여 최종 그림을 화면에 표시합니다.

예제 코드

import numpy as np
import matplotlib.pyplot as plt

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

x = np.linspace(-5, 5, 100)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y, c='r', label='y=sinx', linewidth=3.0)

leg = plt.legend()
leg.get_lines()[0].set_linewidth(6)

plt.show()

코드 설명

위 예제에서는 사인 곡선을 빨간색 실선으로 그리면서, 원본 데이터의 선 두께를 3.0으로 설정했습니다. 이후 plt.legend()가 반환한 범례 객체에서 get_lines()[0]을 통해 첫 번째 라인 항목에 접근하고, set_linewidth(6)을 호출하여 범례 안의 색상 막대(라인 샘플) 두께를 6으로 늘렸습니다. 이렇게 하면 그래프 본체보다 범례의 선이 더 굵게 표시되어 시각적으로 강조할 수 있습니다.

실행 결과

코드를 실행하면 사인 곡선 그래프와 함께 범례가 표시되며, 범례 프레임 안의 빨간색 선이 그래프의 선보다 눈에 띄게 두꺼운 것을 확인할 수 있습니다.