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 :
<code class="python">lns = lns1+lns2+lns3</code>
<code class="python">labs = [l.get_label() for l in lns]</code>
<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!