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

Susan Sarandon
Libérer: 2024-11-01 01:09:01
original
977 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion
  1. Extraire les étiquettes de chaque ligne :
<code class="python">labs = [l.get_label() for l in lns]</code>
Copier après la connexion
  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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal