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 :
de plus le label 'Circle' ne s'affiche pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci de votre aide
Partager