Maison  >  Article  >  développement back-end  >  Comment afficher toutes les étiquettes d'une légende avec twinx() ?

Comment afficher toutes les étiquettes d'une légende avec twinx() ?

DDD
DDDoriginal
2024-11-02 21:25:03937parcourir

How to Display All Labels in a Legend with twinx()?

Axe secondaire avec twinx() : amélioration de l'affichage de la légende

Lors de l'utilisation de twinx() pour créer plusieurs axes Y sur un tracé, il est souhaitable d'afficher toutes les étiquettes associées dans la légende.

Problème initial

Considérez ce code extrait :

<code class="python">ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(loc=0)</code>

Dans ce scénario, la légende affiche uniquement les étiquettes de l'axe principal (ax), en omettant l'étiquette de l'axe secondaire (ax2).

Ajout d'une légende distincte

Pour ajouter une deuxième légende pour l'axe secondaire, incluez simplement la ligne suivante :

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

Cela créera une légende distincte pour les étiquettes associé à l'axe secondaire.

Combinaison de légendes

Vous pouvez également combiner toutes les étiquettes en une seule légende, suivez ces étapes :

  1. Créez une liste de toutes les lignes objets (lns).
  2. Générer une liste d'étiquettes correspondantes (labs).
  3. Appeler ax.legend() utilisant les deux listes pour créer une seule légende :
<code class="python">lns = lns1 + lns2 + lns3
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc=0)</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn