Ich zeichne Renditen für Sektoren und alle Aktien in ihnen. Ich möchte die Werte> 100 grün und < 100 rot haben. Hier ist mein Code:Matplotlib verschiedene Farben für Bargraph basierend auf Wert
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)
Bis jetzt ist dies der gesamte Sektor Diagramme als grün oder rot zurückgibt; Wenn der erste Wert> 100 ist, werden alle Aktien grün und umgekehrt.
Meine erwartete Ausgabe soll 11 Graphen haben (was es derzeit tut), aber mit unterschiedlichen Farben für jeden Bestand innerhalb der Grafik, wenn der Vorrat> 100% Rendite hatte, dann zeigt er grün und < 100% es zeigt rot.
können Sie einige Zeilen von Ihrem df hinzufügen? für den einzelnen Sektor –