PyQtGraph statt PyQwt
Verfasst: Donnerstag 21. Dezember 2017, 14:24
Hi,
ich habe ein Programm geschrieben, dass jede Sekunde 7 Temperatursensoren ausliest, diese aktuellen Temperaturen dann an jeweils ein Array dranhängt. Auch der Timstamp für die x- Achse wird in einem einfachen Array gespeichert.
Das Ganze habe ich seinerzeit dann PyQwt übergeben und in einem Digramm alle Temperaturkurven darstellen lassen.
Dabei trat dann ein Problem auf. Der Prozess läuft unter Umständen mehrere Tage und dementsprechend groß werden dann die Arrays. PyQwt wurde damit sehr träge. Ich musste das Programm nach ca. 1 Tag abschießen (Speicher war voll) und neu starten. Dann ging es wieder.
Jetzt habe ich das Programm mal wieder vorgekramt und auf Qt5 umgeschrieben. Nun konnte PyQwt damit nicht mehr umgehen und ich habe mich für PyQtGraph als Framework entschieden.
Meine Frage ist nun, ob Ihr mir Tips geben könnt, wie ich mit der Datenfülle umgehen könnte. Ich verwende erstmal ein 2dimensionales Numpy- Array. Ist es sinnvoll, die Daten über den gesamten Prozess im Numpy Array zu halten und den neuen Datensatz jeweils hinzuzufügen (append). Oder ist es besser die Daten aus einer Datei (csv) jeweils neu zu laden?
Müssen beim Update der Plots immer alle Daten neu übergeben werden?
ich habe ein Programm geschrieben, dass jede Sekunde 7 Temperatursensoren ausliest, diese aktuellen Temperaturen dann an jeweils ein Array dranhängt. Auch der Timstamp für die x- Achse wird in einem einfachen Array gespeichert.
Das Ganze habe ich seinerzeit dann PyQwt übergeben und in einem Digramm alle Temperaturkurven darstellen lassen.
Dabei trat dann ein Problem auf. Der Prozess läuft unter Umständen mehrere Tage und dementsprechend groß werden dann die Arrays. PyQwt wurde damit sehr träge. Ich musste das Programm nach ca. 1 Tag abschießen (Speicher war voll) und neu starten. Dann ging es wieder.
Jetzt habe ich das Programm mal wieder vorgekramt und auf Qt5 umgeschrieben. Nun konnte PyQwt damit nicht mehr umgehen und ich habe mich für PyQtGraph als Framework entschieden.
Meine Frage ist nun, ob Ihr mir Tips geben könnt, wie ich mit der Datenfülle umgehen könnte. Ich verwende erstmal ein 2dimensionales Numpy- Array. Ist es sinnvoll, die Daten über den gesamten Prozess im Numpy Array zu halten und den neuen Datensatz jeweils hinzuzufügen (append). Oder ist es besser die Daten aus einer Datei (csv) jeweils neu zu laden?
Müssen beim Update der Plots immer alle Daten neu übergeben werden?