> 백엔드 개발 > 파이썬 튜토리얼 > Twinx() 플롯 범례에서 두 축에 대한 레이블을 표시하는 방법은 무엇입니까?

Twinx() 플롯 범례에서 두 축에 대한 레이블을 표시하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-03 07:38:02
원래의
904명이 탐색했습니다.

How to Display Labels for Both Axes in a Twinx() Plot Legend?

twinx()가 있는 보조 축: 범례에 추가

winx()를 사용하여 생성된 두 개의 y축이 있는 플롯을 고려하세요. 각 축에 대해 레이블이 지정된 선. 그러나 legend()를 사용하면 두 번째 축의 레이블을 제외하고 한 축의 레이블만 표시됩니다. 이 문서의 목적은 이 문제를 해결하고 누락된 레이블을 범례에 추가하는 방법을 안내하는 것입니다.

Twinx() 및 Legends

제공된 예에서 Twinx() 기본 축(ax)과 동일한 x축(시간)을 공유하는 두 번째 y축(ax2)을 만드는 데 사용됩니다. 범례의 모든 레이블을 표시하려고 하면 ax(Swdown 및 Rn)와 관련된 레이블만 표시되고 ax2(temp)에 대한 레이블은 없습니다.

누락된 레이블 추가

누락된 레이블을 범례에 포함하려면 두 가지 접근 방식이 있습니다.

접근 방법 1: 다중 범례

다음 줄을 추가하여 ax2에 대한 별도의 범례:

<code class="python">ax2.legend(loc=0)</code>
로그인 후 복사

이렇게 하면 각 축에 하나씩 두 개의 범례가 제공됩니다.

접근 방식 2: 통합 범례

모든 레이블을 단일 범례로 결합하려면 다음 단계를 따르세요.

  1. 모든 선 객체 목록을 만듭니다(두 축의 선):

    <code class="python">lns = lns1 + lns2 + lns3</code>
    로그인 후 복사
  2. 각 줄의 레이블 추출:

    <code class="python">labs = [l.get_label() for l in lns]</code>
    로그인 후 복사
  3. 범례 기능을 사용하여 ax의 단일 범례에 모든 레이블을 추가합니다:

    <code class="python">ax.legend(lns, labs, loc=0)</code>
    로그인 후 복사

다음 수정 코드는 접근 방식 2를 사용하여 범례에 임시 레이블을 추가하는 방법을 보여줍니다.

<code class="python"># ... (code as before)

# Combine lines and labels
lns = lns1 + lns2 + lns3
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc=0)

# ... (remaining code)</code>
로그인 후 복사

이렇게 하면 단일 결과가 생성됩니다. 모든 라인 레이블(Swdown, Rn 및 temp)을 포함하는 범례

위 내용은 Twinx() 플롯 범례에서 두 축에 대한 레이블을 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿