Maison > Article > développement back-end > Comment afficher les étiquettes des deux axes dans une légende de tracé Twinx() ?
Axe secondaire avec twinx() : ajout à la légende
Considérons un tracé avec deux axes y, créé à l'aide de twinx(), avec lignes étiquetées pour chaque axe. Cependant, lors de l'utilisation de legend(), il affiche uniquement les étiquettes d'un axe, à l'exclusion de l'étiquette du deuxième axe. Cet article a pour objectif de résoudre ce problème et de vous guider dans l'ajout du label manquant à la légende.
Twinx() et Legends
Dans l'exemple fourni, twinx() est utilisé pour créer un deuxième axe y (ax2) qui partage le même axe x (temps) que l'axe principal (ax). Lorsque vous tentez d'afficher toutes les étiquettes de la légende, seules celles associées à ax (Swdown et Rn) sont visibles, tandis que l'étiquette pour ax2 (temp) est absente.
Ajout de l'étiquette manquante
Pour inclure l'étiquette manquante dans la légende, il existe deux approches :
Approche 1 : Légendes multiples
Ajoutez la ligne suivante pour créer un légende séparée pour ax2 :
<code class="python">ax2.legend(loc=0)</code>
Cela vous donnera deux légendes, une pour chaque axe.
Approche 2 : Légende consolidée
Pour combinez toutes les étiquettes en une seule légende, suivez ces étapes :
Créez une liste de tous les objets de ligne (lignes des deux axes) :
<code class="python">lns = lns1 + lns2 + lns3</code>
Extraire les étiquettes pour chaque ligne :
<code class="python">labs = [l.get_label() for l in lns]</code>
Utilisez la fonction de légende pour ajouter toutes les étiquettes à une seule légende sur la hache :
<code class="python">ax.legend(lns, labs, loc=0)</code>
Exemple
Le code modifié suivant montre comment ajouter l'étiquette temporaire à la légende avec l'approche 2 :
<code class="python"># ... (code as before) # Combine lines and labels lns = lns1 + lns2 + lns3 labs = [l.get_label() for l in lns] ax.legend(lns, labs, loc=0) # ... (remaining code)</code>
Cela entraînera un seul légende qui contient toutes les étiquettes de ligne : Swdown, Rn et temp.
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!