플롯에 맞춤형 범례 기호를 표시하려면 다음 단계를 수행할 수 있습니다.
- 그림 크기를 설정하고 서브플롯 사이 및 주변 여백을 조정합니다.
- HandlerPatch 상속 클래스에서 create Artists 메서드를 재정의하고 플롯에 타원형 패치를 추가하고 패치 핸들러를 반환합니다.
- 원을 사용하여 플롯에 원 그리기 수업.
- 현재 축에 원 패치를 추가합니다.
- legend() 사용 플롯에 범례를 배치하는 방법입니다.
- 그림을 표시하려면 show()를 사용하세요. 방법.
예시
import matplotlib.pyplot as plt, matplotlib.patches as mpatches from matplotlib.legend_handler import HandlerPatch plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True class HandlerEllipse(HandlerPatch): def create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans): center = 0.5 * width - 0.5 * xdescent, 0.5 * height - 0.5 * ydescent p = mpatches.Ellipse(xy=center, width=width + xdescent, height=height + ydescent) self.update_prop(p, orig_handle, legend) p.set_transform(trans) return [p] c = mpatches.Circle((0.5, 0.5), 0.25, facecolor="green", edgecolor="red", linewidth=1) plt.gca().add_patch(c) plt.legend([c], ["An ellipse,Customized legend element"], handler_map={mpatches.Circle: HandlerEllipse()}) plt.show()
출력