Ik heb een aantal lists in Python welke ik zichtbaar wil maken in een grafiek. 1e list is de timestamps, de anderen zijn de datapunten.
Weggeschreven naar een bestand ziet de data er zo ongeveer uit:
Ik gebruik de volgende code om deze grafiek op mijn programmavenster te toveren, ik heb al andere varianten gebruikt, maar deze vertonen hetzelfde fenomeen. Ik append iedere seconde data aan de list en roep dan de volgende functie aan om de grafiek te updaten
De grafiek ziet er als volgt uit:
:fill(white):strip_exif()/f/image/YQjuEcxmvKws88DphLSQcX0i.png?f=user_large)
Zoals je kunt zien lopen allebei de lijnen linear omhoog, terwijl 1 van de 2 omlaag zou moeten lopen. Bij ieder nieuw datapunt dat er bij komt wordt de Y as gewijzigd, en beide lijnen doen dat ook nog eens individueel. Ik wil gewon dat mij y-as van 0 naar x loopt en datapunten zich daarnaar conformeren, ipv andersom. Dat lijkt me toch een heel logisch, maar toch krijg ik dat niet voor elkaar.
Wat doe ik verkeerd?
Weggeschreven naar een bestand ziet de data er zo ongeveer uit:
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
29
30
31
32
33
34
35
36
| Time Pressure 1 Temperature 1 Pressure 2 Temperature 2 Pressure 3 Temperature 3 Pressure 4 Temperature 4 Pressure 5 Temperature 5 Pressure 6 Temperature 6 Fri Nov 6 11:13:49 2020 8.00 20.02 1.60 19.94 9.60 20.18 2.40 20.26 13.60 20.10 0.16 19.86 Fri Nov 6 11:13:50 2020 9.00 20.01 1.80 19.92 10.80 20.19 2.70 20.28 15.30 20.10 0.18 19.83 Fri Nov 6 11:13:51 2020 11.00 19.99 2.20 19.88 13.20 20.21 3.30 20.32 18.70 20.10 0.22 19.77 Fri Nov 6 11:13:52 2020 12.00 19.98 2.40 19.86 14.40 20.22 3.60 20.34 20.40 20.10 0.24 19.74 Fri Nov 6 11:13:53 2020 14.00 19.96 2.80 19.82 16.80 20.24 4.20 20.38 23.80 20.10 0.28 19.68 Fri Nov 6 11:13:54 2020 15.00 19.95 3.00 19.80 18.00 20.25 4.50 20.40 25.50 20.10 0.30 19.65 Fri Nov 6 11:13:56 2020 17.00 19.93 3.40 19.76 20.40 20.27 5.10 20.44 28.90 20.10 0.34 19.59 Fri Nov 6 11:13:57 2020 18.00 19.92 3.60 19.74 21.60 20.28 5.40 20.46 30.60 20.10 0.36 19.56 Fri Nov 6 11:13:58 2020 19.00 19.91 3.80 19.72 22.80 20.29 5.70 20.48 32.30 20.10 0.38 19.53 Fri Nov 6 11:13:59 2020 21.00 19.89 4.20 19.68 25.20 20.31 6.30 20.52 35.70 20.10 0.42 19.47 Fri Nov 6 11:14:00 2020 22.00 19.88 4.40 19.66 26.40 20.32 6.60 20.54 37.40 20.10 0.44 19.44 Fri Nov 6 11:14:01 2020 23.00 19.87 4.60 19.64 27.60 20.33 6.90 20.56 39.10 20.10 0.46 19.41 Fri Nov 6 11:14:02 2020 25.00 19.85 5.00 19.60 30.00 20.35 7.50 20.60 42.50 20.10 0.50 19.35 Fri Nov 6 11:14:03 2020 26.00 19.84 5.20 19.58 31.20 20.36 7.80 20.62 44.20 20.10 0.52 19.32 Fri Nov 6 11:14:04 2020 28.00 19.82 5.60 19.54 33.60 20.38 8.40 20.66 47.60 20.10 0.56 19.26 Fri Nov 6 11:14:05 2020 29.00 19.81 5.80 19.52 34.80 20.39 8.70 20.68 49.30 20.10 0.58 19.23 Fri Nov 6 11:14:06 2020 30.00 19.80 6.00 19.50 36.00 20.40 9.00 20.70 51.00 20.10 0.60 19.20 Fri Nov 6 11:14:07 2020 31.00 19.79 6.20 19.48 37.20 20.41 9.30 20.72 52.70 20.10 0.62 19.17 Fri Nov 6 11:14:08 2020 33.00 19.77 6.60 19.44 39.60 20.43 9.90 20.76 56.10 20.10 0.66 19.11 Fri Nov 6 11:14:09 2020 34.00 19.76 6.80 19.42 40.80 20.44 10.20 20.78 57.80 20.10 0.68 19.08 Fri Nov 6 11:14:10 2020 35.00 19.75 7.00 19.40 42.00 20.45 10.50 20.80 59.50 20.10 0.70 19.05 Fri Nov 6 11:14:12 2020 37.00 19.73 7.40 19.36 44.40 20.47 11.10 20.84 62.90 20.10 0.74 18.99 Fri Nov 6 11:14:13 2020 38.00 19.72 7.60 19.34 45.60 20.48 11.40 20.86 64.60 20.10 0.76 18.96 Fri Nov 6 11:14:14 2020 39.00 19.71 7.80 19.32 46.80 20.49 11.70 20.88 66.30 20.10 0.78 18.93 Fri Nov 6 11:14:15 2020 40.00 19.70 8.00 19.30 48.00 20.50 12.00 20.90 68.00 20.10 0.80 18.90 Fri Nov 6 11:14:16 2020 42.00 19.68 8.40 19.26 50.40 20.52 12.60 20.94 71.40 20.10 0.84 18.84 Fri Nov 6 11:14:17 2020 43.00 19.67 8.60 19.24 51.60 20.53 12.90 20.96 73.10 20.10 0.86 18.81 Fri Nov 6 11:14:19 2020 44.00 19.66 8.80 19.22 52.80 20.54 13.20 20.98 74.80 20.10 0.88 18.78 Fri Nov 6 11:14:20 2020 45.00 19.65 9.00 19.20 54.00 20.55 13.50 21.00 76.50 20.10 0.90 18.75 Fri Nov 6 11:14:21 2020 46.00 19.64 9.20 19.18 55.20 20.56 13.80 21.02 78.20 20.10 0.92 18.72 Fri Nov 6 11:14:23 2020 47.00 19.63 9.40 19.16 56.40 20.57 14.10 21.04 79.90 20.10 0.94 18.69 Fri Nov 6 11:14:24 2020 48.00 19.62 9.60 19.14 57.60 20.58 14.40 21.06 81.60 20.10 0.96 18.66 Fri Nov 6 11:14:25 2020 49.00 19.61 9.80 19.12 58.80 20.59 14.70 21.08 83.30 20.10 0.98 18.63 Fri Nov 6 11:14:27 2020 50.00 19.60 10.00 19.10 60.00 20.60 15.00 21.10 85.00 20.10 1.00 18.60 Fri Nov 6 11:14:31 2020 53.00 19.57 10.60 19.04 63.60 20.63 15.90 21.16 90.10 20.10 1.06 18.51 |
Ik gebruik de volgende code om deze grafiek op mijn programmavenster te toveren, ik heb al andere varianten gebruikt, maar deze vertonen hetzelfde fenomeen. Ik append iedere seconde data aan de list en roep dan de volgende functie aan om de grafiek te updaten
Python:
1
2
3
4
5
6
7
8
9
10
| def Drawgraph(): fig, ax = plt.subplots() # Create a figure containing a single axes. ax.set(ylim=(0, 25)) df=pd.DataFrame({'x': TimeStamps, 'y1': ListTemp1, 'y2': ListPres1, 'y3': ListPres2 }) ax.plot( 'x', 'y1','y2', data=df, marker='o', markerfacecolor='blue', markersize=5, color='skyblue', linewidth=2) canvas = FigureCanvasTkAgg(fig, master=root) canvas.draw() canvas.get_tk_widget().grid(row=20, column=0, ipadx=40, ipady=20) |
De grafiek ziet er als volgt uit:
:fill(white):strip_exif()/f/image/YQjuEcxmvKws88DphLSQcX0i.png?f=user_large)
Zoals je kunt zien lopen allebei de lijnen linear omhoog, terwijl 1 van de 2 omlaag zou moeten lopen. Bij ieder nieuw datapunt dat er bij komt wordt de Y as gewijzigd, en beide lijnen doen dat ook nog eens individueel. Ik wil gewon dat mij y-as van 0 naar x loopt en datapunten zich daarnaar conformeren, ipv andersom. Dat lijkt me toch een heel logisch, maar toch krijg ik dat niet voor elkaar.
Wat doe ik verkeerd?
PSN: DutchTrickle PVoutput