Bonjour à tous.
Je développe une petite interface IHM pour un radiotélescope.
J'aimerais afficher un graph des valeurs au fur et a mesure de l'acquisition des donnée.
L'acquisition se fait tous les x secondes via un Thread et un timer
Je souhaiterais la mise a jour du graph a la fin de chaque Thread.
J'ai tester le code ci-dessus qui fonctionne très bien quand on l'appelle un seul fois.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 # Create figure for plotting fig = plt.figure() ax = fig.add_subplot(1, 1, 1) xs = [] ysbdf = [] ybrut = [] ynet = [] # Read temperature (Celsius) from TMP102 Yb = adc1.read_adc(3, gain=GAIN)*GADC1A3 YN = adc1.read_adc(1, gain=GAIN)*GADC1A1 YB = adc1.read_adc(2, gain=GAIN)*GADC1A2 # Add x and y to lists xs.append(dt.datetime.now().strftime('%H:%M:%S.%f')) ysbdf.append(Yb) ybrut.append(YB) ynet.append(YN) # Draw plot ax.plot(xs, ysbdf, color='r', label='BDF') ax.plot(xs, ynet, color='g', label='Net') ax.plot(xs, ybrut, color='b', label='Brut') # Format plot plt.xticks(rotation=45, ha='right') plt.subplots_adjust(bottom=0.30) plt.title('TEST') plt.ylabel('Volt') # Draw the graph plt.show()
J'ai pas tester la ligne de code suivante:Ce qui m'interroge avec cette ligne de code c'est l'argument interval qui appelle la fonction animate toute les 50ms dans ce cas. Dans la documentation c'est mini 200ms par défaut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ani = animation.FuncAnimation(fig, animate, fargs=(ys,), interval=50, blit=True)
Auriez vous une piste, un bout de code pour m'aider?
Merci d'avance.
Partager