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:
lns = lns1 lns2 lns3
labs = [l.get_label() for l in lns]
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.
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