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?
InformationsquelleAutor Funsaized | 2014-07-10