55 lines
1.7 KiB
Python
Executable file
55 lines
1.7 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
import matplotlib.pyplot as plt
|
|
import sqlite3
|
|
|
|
# Pfad zur Datenbank
|
|
db_path = '/home/divers/datenbank/temperaturen.db'
|
|
|
|
# SQLite-Datenbankverbindung herstellen
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
# SQL-Abfrage, um die Zeitstempel und Temperaturen zu erhalten (Tabelle "istwert" für Tank 1)
|
|
cursor.execute("SELECT zeitstempel, temperatur FROM istwert WHERE messstelle = 1")
|
|
rows_istwert = cursor.fetchall()
|
|
|
|
# SQL-Abfrage, um die Zeitstempel und Temperaturen zu erhalten (Tabelle "sollwert" für Tank 1)
|
|
cursor.execute("SELECT zeitstempel, temperatur FROM sollwert WHERE messstelle = 1")
|
|
rows_sollwert = cursor.fetchall()
|
|
|
|
conn.close()
|
|
|
|
# Die Zeitstempel und Temperaturen in separate Listen aufteilen (Istwert)
|
|
datetimes_istwert = [row[0] for row in rows_istwert]
|
|
temperaturen_istwert = [row[1] for row in rows_istwert]
|
|
|
|
# Die Zeitstempel und Temperaturen in separate Listen aufteilen (Sollwert)
|
|
datetimes_sollwert = [row[0] for row in rows_sollwert]
|
|
temperaturen_sollwert = [row[1] for row in rows_sollwert]
|
|
|
|
# Grafik erstellen
|
|
plt.figure(figsize=(10, 8)) # Vergrößern Sie die Höhe des Grafikbereichs
|
|
|
|
# Plot für Istwert (Tank 1)
|
|
plt.plot(datetimes_istwert, temperaturen_istwert, label='Istwert Tank 1', color='blue')
|
|
|
|
# Plot für Sollwert (Tank 1)
|
|
plt.plot(datetimes_sollwert, temperaturen_sollwert, label='Sollwert Tank 1', color='red', linestyle='--')
|
|
|
|
plt.xlabel('Zeitstempel')
|
|
plt.ylabel('Temperatur (°C)')
|
|
plt.title('Temperaturverlauf Tank 1 (Istwert und Sollwert)')
|
|
|
|
# Vertikale Ausrichtung der x-Achsenbeschriftung
|
|
plt.xticks(rotation='vertical')
|
|
|
|
plt.legend()
|
|
plt.grid(True)
|
|
|
|
# Speichern Sie die Grafik als SVG-Datei
|
|
plt.savefig('Temperaturverlauf.svg', format='svg', bbox_inches='tight')
|
|
|
|
# Grafik anzeigen (optional)
|
|
plt.show()
|