Afficher uniquement certains éléments dans la légende Python Matplotlib
Je suis actuellement en traçant un graphique à barres empilées d'une grande quantité de données taxonomiques, et que vous souhaitez uniquement afficher les espèces importantes dans la légende (de ~500 je tiens à montrer, ~25). Est-il un moyen simple de faire cela? Ci-dessous le code que j'ai:
labels=['0','20','40','60','80','100','120']
ax1=subj1df.plot(kind='barh', stacked=True,legend=True,cmap='Paired', grid=False)
legend(ncol=2,loc=2, bbox_to_anchor=(1.05, 1), borderaxespad=0.)
label1=['Baseline','8h','24h','48h','96h','120h']
ax1.set_yticklabels(label1, fontdict=None, minor=False)
plt.title('Subject 1 Phyla',fontweight='bold')
plt.savefig('Subject1Phyla.eps', format='eps', dpi=1000)
ax1.set_xticklabels(labels)
Edit: essayé d'ajouter cette option pour afficher une seule entrée de légende, cependant renvoie uniquement un vide légende:
h, l = ax1.get_legend_handles_labels()
legend(l[4],h[4],ncol=2,loc=2, bbox_to_anchor=(1.05, 1), borderaxespad=0.)
- vous voulez dire que vous voulez tracer l'ensemble de vos 500 variables, mais ne montrent qu'une sélectionné 25 dans votre légende?
Vous devez vous connecter pour publier un commentaire.
J'insère souvent un vide de l'étiquette de légendes, je ne veux pas afficher. J'ai fait un très simple exemple qui je l'espère pourra vous aider. Vous aurez besoin d'ajuster ce à vos propres données, mais les éléments dont vous avez besoin devrait être là.
Cela crée les courbes ci-dessous:
legend
prend également une liste d'artistes et une liste d'étiquettes pour contrôler précisément ce qui se passe dans votre légendelabel=None
n'a pas fonctionné pour moi .label='_nolegend_'
(remarque les traits de soulignement), voir la réponse de jlansey.Cela fonctionne:
source
_nolegend_
.label=None
?_
est ignorée de la légende.Pour quelque raison que ce soit les deux réponses ne fonctionne pas pour le mien situation. Ce qui a fonctionné, et en fait a été indiqué ci-dessus:
La suite du code:
Vous pouvez également utiliser une chaîne vide variable:
Par le passage d'un vide str() de l'objet, il n'a pas d'écrire quoi que ce soit.
Matplotlib de référence de l'API