"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como adicionar rótulos para eixos primários e secundários em uma legenda com TwinX?

Como adicionar rótulos para eixos primários e secundários em uma legenda com TwinX?

Publicado em 2024-11-08
Navegar:527

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

Exibição de legenda com eixo secundário em TwinX

Em um gráfico com vários eixos y usando twinx(), adicionando rótulos a cada linha e exibi-los em uma legenda pode representar um desafio. Normalmente, apenas os rótulos do eixo primário aparecem na legenda.

Considere o exemplo a seguir, onde os rótulos para duas linhas de eixo primário e uma linha de eixo secundário são definidos:

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)

Neste caso, a legenda mostra apenas os rótulos 'Swdown' e 'Rn'. Para incluir o rótulo 'temp' para o eixo secundário, duas abordagens podem ser empregadas:

Legendas separadas

Uma opção é criar uma segunda legenda especificamente para o eixo secundário eixo. Isso pode ser conseguido adicionando a seguinte linha:

ax2.legend(loc=0)

Isso resultará em duas legendas separadas, uma para cada eixo.

Legenda Combinada

Para uma única legenda combinada, use as seguintes etapas:

  1. Crie uma lista de todas as linhas (de ambos os eixos) que você deseja que apareça na legenda:
lns = lns1 lns2 lns3
  1. Extraia os rótulos de cada linha:
labs = [l.get_label() for l in lns]
  1. Use a função legend() no eixo primário (ax), passando a lista de linhas e a lista de rótulos combinadas:
ax.legend(lns, labs, loc=0)

Seguindo estas instruções, você pode exibir efetivamente todos os rótulos de linha em uma única legenda, independentemente de pertencerem ao eixos primários ou secundários.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3