>  기사  >  백엔드 개발  >  TwinX를 사용하여 범례에 기본 축과 보조 축 모두에 대한 레이블을 추가하는 방법은 무엇입니까?

TwinX를 사용하여 범례에 기본 축과 보조 축 모두에 대한 레이블을 추가하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 01:09:01910검색

How to Add Labels for Both Primary and Secondary Axes in a Legend with TwinX?

TwinX에서 보조 축이 있는 범례 표시

winx()를 사용하여 여러 y축이 있는 플롯에서 각 라인에 레이블을 추가하고 범례에 표시하는 것은 어려울 수 있습니다. 일반적으로 기본 축의 레이블만 범례에 나타납니다.

두 개의 기본 축 선과 하나의 보조 축 선에 대한 레이블이 정의된 다음 예를 고려해 보세요.

<code class="python">fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(time, Swdown, '-', label = 'Swdown')
ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(loc=0)</code>

이 경우 , 범례에는 'Swdown' 및 'Rn' 레이블만 표시됩니다. 보조 축에 'temp' 레이블을 포함하려면 두 가지 접근 방식을 사용할 수 있습니다.

별도의 범례

한 가지 옵션은 보조 축에 대해 특별히 두 번째 범례를 만드는 것입니다. 중심선. 다음 줄을 추가하면 됩니다.

<code class="python">ax2.legend(loc=0)</code>

이렇게 하면 각 축에 하나씩 두 개의 별도 범례가 생성됩니다.

결합 범례

단일 결합 범례의 경우 다음 단계를 사용하세요.

  1. 범례에 표시할 모든 선(두 축에서) 목록을 만듭니다.
<code class="python">lns = lns1+lns2+lns3</code>
  1. 각 줄에서 레이블을 추출합니다.
<code class="python">labs = [l.get_label() for l in lns]</code>
  1. 기본 축(ax)에서 legend() 함수를 사용하여 결합된 줄 목록을 전달합니다. 및 레이블 목록:
<code class="python">ax.legend(lns, labs, loc=0)</code>

이 지침을 따르면 기본 축에 속하든 보조 축에 속하든 관계없이 단일 범례에 모든 선 레이블을 효과적으로 표시할 수 있습니다.

위 내용은 TwinX를 사용하여 범례에 기본 축과 보조 축 모두에 대한 레이블을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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