Maison  >  Article  >  développement back-end  >  Comment ajouter des étiquettes pour les axes primaires et secondaires dans une légende avec TwinX ?

Comment ajouter des étiquettes pour les axes primaires et secondaires dans une légende avec TwinX ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 01:09:01910parcourir

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

Affichage de la légende avec axe secondaire dans TwinX

Dans un tracé avec plusieurs axes Y à l'aide de twinx(), en ajoutant des étiquettes à chaque ligne et les afficher dans une légende peut présenter un défi. En règle générale, seules les étiquettes de l'axe principal apparaissent dans la légende.

Considérons l'exemple suivant où les étiquettes de deux lignes d'axe principal et d'une ligne d'axe secondaire sont définies :

<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>

Dans ce cas , la légende ne montre que les étiquettes 'Swdown' et 'Rn'. Pour inclure l'étiquette « temp » pour l'axe secondaire, deux approches peuvent être utilisées :

Légendes séparées

Une option consiste à créer une deuxième légende spécifiquement pour l'axe secondaire. axe. Ceci peut être réalisé en ajoutant la ligne suivante :

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

Cela donnera lieu à deux légendes distinctes, une pour chaque axe.

Légende combinée

Pour une légende unique combinée, suivez les étapes suivantes :

  1. Créez une liste de toutes les lignes (des deux axes) que vous souhaitez voir apparaître dans la légende :
<code class="python">lns = lns1+lns2+lns3</code>
  1. Extraire les étiquettes de chaque ligne :
<code class="python">labs = [l.get_label() for l in lns]</code>
  1. Utilisez la fonction legend() sur l'axe principal (ax), en passant la liste des lignes combinées et liste d'étiquettes :
<code class="python">ax.legend(lns, labs, loc=0)</code>

En suivant ces instructions, vous pouvez afficher efficacement toutes les étiquettes de lignes dans une seule légende, qu'elles appartiennent aux axes principal ou secondaire.

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