Arbeitsspeicher"verbrauch" von Matplotlib
Verfasst: Donnerstag 7. März 2024, 18:07
Hallo zusammen!
Meine Frage ans Forum bezieht sich auf Matplotlib (Version 3.3.4 unter Raspbian 11) und ist eher technischer Natur.
Der obenstehende Code-Schnipsel "verbrät" bei jedem Aufruf des Diagramms etwa 2,6MB Arbeitsspeicher, der nicht wieder freigegeben wird. Wobei das beim ersten Aufruf mehr ist und mir auch kein Kopfzerbrechen bereitet. Aber JEDES nachfolgende Öffnen des Diagramms lässt den Speicherbedarf von Python um die besagten 2,6MB ansteigen.
Dazu kommt, dass die "print('DONE')"-Anweisung erst beim Schließen des Programmfensters ausgeführt wird. Das dann aber gleich genau so oft, wie das Diagramm geöffnet wurde.
Beim Einschalten des Interactive-Mode wird "print('DONE')" sofort ausgeführt, noch VOR Schließen des Diagramms. Dadurch machen dann "cla", "clf" oder "close" an dieser Stelle natürlich auch keinen Sinn weil das dann den Plot schließt noch bevor ich was gesehen hab.
Irgendwie komm ich nicht weiter und würde mich freuen, wenn jemand das nachvollziehen kann und ne Idee hat. Entweder hat Matplotlib da nen Bug oder des Problem sitzt wie üblich vor der Tastatur.
Im Voraus schonmal ein liebes Dankeschön
Meine Frage ans Forum bezieht sich auf Matplotlib (Version 3.3.4 unter Raspbian 11) und ist eher technischer Natur.
Code: Alles auswählen
import tkinter as tk
import matplotlib.pyplot as plt
#plt.ion()
def diagramm_erzeugen():
plt.plot(zeit_list,temp_list)
plt.show()
print('DONE')
temp_list = [22.9,23.2,23.4,23.5,23.4,23.1]
zeit_list=['12:00','14:00','16:00','18:00','20:00','22:00']
haupt = tk.Tk()
btn_diagramm_anzeigen = tk.Button(master = haupt, text="Diagramm anzeigen", command = diagramm_erzeugen)
btn_diagramm_anzeigen.pack()
haupt.mainloop()
Dazu kommt, dass die "print('DONE')"-Anweisung erst beim Schließen des Programmfensters ausgeführt wird. Das dann aber gleich genau so oft, wie das Diagramm geöffnet wurde.
Beim Einschalten des Interactive-Mode wird "print('DONE')" sofort ausgeführt, noch VOR Schließen des Diagramms. Dadurch machen dann "cla", "clf" oder "close" an dieser Stelle natürlich auch keinen Sinn weil das dann den Plot schließt noch bevor ich was gesehen hab.
Irgendwie komm ich nicht weiter und würde mich freuen, wenn jemand das nachvollziehen kann und ne Idee hat. Entweder hat Matplotlib da nen Bug oder des Problem sitzt wie üblich vor der Tastatur.
Im Voraus schonmal ein liebes Dankeschön