>백엔드 개발 >파이썬 튜토리얼 >Matplotlib에서 여러 하위 그림에 대한 단일 범례를 만드는 방법은 무엇입니까?

Matplotlib에서 여러 하위 그림에 대한 단일 범례를 만드는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 20:17:29305검색

How to Create a Single Legend for Multiple Subplots in Matplotlib?

Matplotlib에서 여러 하위 플롯에 대한 단일 범례 생성

Matplotlib에서 여러 하위 플롯을 나란히 생성하면 다양한 데이터 세트 또는 측면을 시각화할 수 있습니다. 단일 그림에 단일 데이터 세트가 포함되어 있습니다. 그러나 이러한 하위 플롯에 유사한 범례가 있는 경우 여러 범례를 표시하는 것은 불필요하고 시각적으로 복잡해질 수 있습니다. 다행히 Matplotlib는 범례를 하나의 응집력 있는 표현으로 통합하는 솔루션을 제공합니다.

해결책: get_legend_handles_labels() 사용

여러 하위 플롯에 대한 단일 범례를 생성하려면 다음을 사용합니다. 마지막 축의 get_legend_handles_labels() 함수. 이 함수는 label= 인수에서 필요한 정보를 수집하여 통합 범례를 수동으로 생성할 수 있게 해줍니다.

<code class="python">handles, labels = ax.get_legend_handles_labels()
fig.legend(handles, labels, loc='upper center')</code>

여기:

  • ax는 서브플롯 그리드의 마지막 축을 나타냅니다.
  • handles는 범례 항목을 나타내는 핸들(선, 마커 등) 목록입니다.
  • labels는 범례 항목에 해당하는 레이블 목록입니다.
  • loc 그림 내의 범례 위치를 지정합니다(예: 플롯 위의 경우 '상부 중앙').

Axes 인터페이스 대신 pyplot 인터페이스를 사용하는 경우 다음 코드를 사용하세요.

<code class="python">handles, labels = plt.gca().get_legend_handles_labels()</code>

추가 고려 사항

  • 개별 서브플롯에서 범례를 제거하려면 "matplotlib 그림에서 범례 제거"를 참조하세요.
  • twiny 범례 병합에 대한 자세한 내용은 "twinx()를 사용한 보조 축: 범례에 추가하는 방법"을 참조하세요.

위 내용은 Matplotlib에서 여러 하위 그림에 대한 단일 범례를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.