"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > TwinX를 사용하여 범례에 기본 축과 보조 축 모두에 대한 레이블을 추가하는 방법은 무엇입니까?

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

2024-11-08에 게시됨
검색:885

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

TwinX의 보조 축이 있는 범례 표시

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

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

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)

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

별도의 범례

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

ax2.legend(loc=0)

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

결합된 범례

결합된 단일 범례의 경우 다음 단계를 사용합니다.

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

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

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3