Est-ce que quelqu'un sait pourquoi ce code ne trace pas correctement les couleurs des boîtes. Je veux que chaque composant soit d'une couleur différente mais ils sortent tous noirs avec une légende bleue.Les couleurs Pyplot ne sont pas celles attendues
from numpy import array, zeros
import matplotlib.pyplot as plt
# Components: Useage times (start, stop), wattage, detail
COMPONENTS = {"fridge": ([(0.0,24.0)], 35, " Litres"),
"kettle": ([(7.3,7.33), (19.0,19.3)], 2500, ""),
"netbook": ([(8.0,9.3),(12.0,15.0)], 12.5, ""),
"light bulb": ([(18.0,22.0)], 20, "")
}
COLORS = ('b','g','r','c','m','y','k','w')
PLOT = []
TIME = range(24*60)
Powers = [] # list of array of power for each component
for key in COMPONENTS.keys(): # each useage
p = zeros(len(TIME))
for j in COMPONENTS[key][0]: # start and stop
start = round(j[0]*60)
end = round(j[1]*60)
p[start:end] = COMPONENTS[key][1]
Powers.append(p)
b=zeros(len(TIME))
for i in range(len(COMPONENTS.keys())):
PLOT.append(plt.bar(TIME,Powers[i],width = 1, color=COLORS[i], bottom=b))
b+=Powers[i]
plt.ylabel('Power (W)')
plt.xlabel('Time (h)') ###
plt.title('Power Cycle')
plt.xticks(range(0,25*60,60) ,[str(t) for t in range(25)])
plt.legend(tuple([i for i in PLOT]), tuple([c for c in COMPONENTS.keys()]))
plt.show()
Qu'est-ce qui vous a donné l'idée d'utiliser tous les noms de variables majuscules? Cela me fait mal aux yeux! –