MATPLOTLIB - Tracer plusieurs courbes
Bonjour à tous,
Je souhaite tracer plusieurs courbes sur le même graphique à partir d'un dico qui contient les données. Le dico est de la forme suivante :
dico = {k1 : [(data1, value1), (data2, value2), ...], k2 : [(data1, value1), (data2, value2), ...], ...}
et donc je voudrai tracer sur le même graphique :
- la courbe k1 avec en X : data1, data2, ... et en Y : value1, value2,...
- la courbe k2 avec en Y : data1, data2, ... et en Y : value1, value2,...
- ...
or je n'arrive pas à superposer les courbes, je dois fermer le premier traçage pour afficher les autres.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
import matplotlib.pyplot as plt
def plotting_dico(dico, titre):
"""
Plot a partir des data contenus dans dico
"""
x = []
y = []
lstPlot = []
for key, values in dico.iteritems():
for i in sorted(values):
# convertion des dates sting en date obj
dateObj = datetime.strptime(i[0], "%d/%m/%y-%H:%M:%S")
line = dateObj, i[1]
lstPlot.append(line)
for i in sorted(lstPlot):
x.append(i[0])
y.append(i[1])
# plotting
la = plt.plot(x, y, label='Circle')
plt.xlabel('Dates')
plt.ylabel(titre)
#plt.plot(x, y)
plt.title("Modbus " + key)
plt.show()
return |
de plus le label 'Circle' ne s'affiche pas ...
Merci de votre aide