Matplotlib에서 플롯의 범례(legend)에 선이나 마커 없이 텍스트 레이블만 깔끔하게 표시하고 싶다면, legend() 메서드 호출 시 handlelength=0, handletextpad=0, fancybox=0 인자를 함께 사용하면 됩니다.
이렇게 하면 범례 앞에 붙는 색상 막대(handle)가 사라지고 레이블 텍스트만 보기 좋게 출력됩니다.
구현 단계
그림 크기를 설정하고, 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
numpy를 사용해 무작위 x, y 데이터 포인트를 생성합니다.
subplots() 메서드로 figure와 서브플롯 집합을 만듭니다.
plot() 메서드로 x, y 데이터를 그리면서 범례에 표시할 레이블을 'Zig-Zag'로 지정합니다.
legend() 메서드에 handlelength=0, handletextpad=0, fancybox=0 인자를 전달하여 레이블만 배치합니다.
show() 메서드를 사용해 figure를 화면에 표시합니다.
예제 코드
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.random.rand(100) y = np.random.rand(100) fig, ax = plt.subplots() ax.plot(x, y, label='Zig-Zag', c="red") ax.legend(loc="upper right", handlelength=0, handletextpad=0, fancybox=True) plt.show()
실행 결과
위 코드를 실행하면 빨간색 지그재그 선이 그려지고, 오른쪽 상단에는 색상 막대 없이 'Zig-Zag' 텍스트 레이블만 포함된 범례가 표시됩니다.
