matplotlib histogramme avec la légende
J'ai ce code qui génère un histogramme, l'identification de trois types de champs; "Faible", "moyen" et "élevé":
import pylab as plt
import pandas as pd
df = pd.read_csv('April2017NEW.csv', index_col =1)
df1 = df.loc['Output Energy, (Wh/h)'] # choose index value and Average
df1['Average'] = df1.mean(axis=1)
N, bins, patches = plt.hist(df1['Average'], 30)
cmap = plt.get_cmap('jet')
low = cmap(0.5)
medium =cmap(0.25)
high = cmap(0.8)
for i in range(0,4):
patches[i].set_facecolor(low)
for i in range(4,11):
patches[i].set_facecolor(medium)
for i in range(11,30):
patches[i].set_facecolor(high)
plt.xlabel("Watt Hours", fontsize=16)
plt.ylabel("Households", fontsize=16)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
ax = plt.subplot(111)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
plt.show()
qui produit ce:
Comment puis-je obtenir une légende là-bas pour les trois différentes couleurs?
OriginalL'auteur warrenfitzhenry | 2017-05-09
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour créer la légende de vous-même. À cette fin, de créer des rectangles, qui ne sont pas représentés dans la figure (appelé proxy artistes).
Exemple complet:
OriginalL'auteur ImportanceOfBeingErnest
Selon moi, vous avez juste besoin de passer des étiquettes comme un argument dans la
hist
fonction, par exempleVoir exemple ici https://matplotlib.org/examples/statistics/histogram_demo_multihist.html
OriginalL'auteur tsando