Je suis en train de tracer des rendements pour les secteurs et tous les stocks en leur sein. Je voudrais avoir les valeurs> 100 pour être vert, et < 100 pour être rouge. Voici mon code:Matplotlib différentes couleurs pour le graphique à barres basé sur la valeur
for i in sectors: #sectors is XLK, XLY, etc
fig = plt.figure(figsize=(20,9))
for x in sectordict[i]: #sectordict[i] is all the stocks in a sector (so AAPL, GOOG, etc. for tech)
if pct_change[x] > 1: #pct_change calculates the return in %
((pct_change[sectordict[i]]*100).plot(kind='bar',color='g')
elif pct_change[x] < 1:
((pct_change[sectordict[i]]*100).plot(kind='bar',color='r')
plt.title(i)
Jusqu'à présent, tous les graphiques de secteurs sont affichés en vert ou en rouge; Si la première valeur est> 100, toutes les actions seront vertes et vice versa. Mon résultat attendu est d'avoir 11 graphiques (ce qu'il fait actuellement), mais avec des couleurs différentes pour chaque stock dans le graphique, si le stock avait> 100% de retour alors il montre vert et < 100% il montre rouge.
pouvez-vous ajouter quelques lignes de votre df? pour un seul secteur –