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: 통합 범례
모든 레이블을 단일 범례로 결합하려면 다음 단계를 따르세요.
모든 선 객체 목록을 만듭니다(두 축의 선):
<code class="python">lns = lns1 + lns2 + lns3</code>
각 줄의 레이블 추출:
<code class="python">labs = [l.get_label() for l in lns]</code>
범례 기능을 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!