trend/plott2.py

53 lines
1.8 KiB
Python
Raw Normal View History

2023-09-06 12:09:11 +02:00
#!/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 2)
cursor.execute("SELECT zeitstempel, temperatur FROM istwert WHERE messstelle = 2")
rows_istwert_tank2 = cursor.fetchall()
# SQL-Abfrage, um die Zeitstempel und Temperaturen zu erhalten (Tabelle "sollwert" für Tank 2)
cursor.execute("SELECT zeitstempel, temperatur FROM sollwert WHERE messstelle = 2")
rows_sollwert_tank2 = cursor.fetchall()
conn.close()
# Die Zeitstempel und Temperaturen in separate Listen aufteilen (Istwert und Sollwert Tank 2)
datetimes_istwert_tank2 = [row[0] for row in rows_istwert_tank2]
temperaturen_istwert_tank2 = [row[1] for row in rows_istwert_tank2]
datetimes_sollwert_tank2 = [row[0] for row in rows_sollwert_tank2]
temperaturen_sollwert_tank2 = [row[1] for row in rows_sollwert_tank2]
# Grafik erstellen
plt.figure(figsize=(10, 8)) # Vergrößern Sie die Höhe des Grafikbereichs
# Plot für Istwert (Tank 2)
plt.plot(datetimes_istwert_tank2, temperaturen_istwert_tank2, label='Istwert Tank 2', color='green')
# Plot für Sollwert (Tank 2)
plt.plot(datetimes_sollwert_tank2, temperaturen_sollwert_tank2, label='Sollwert Tank 2', color='orange', linestyle='--')
plt.xlabel('Zeitstempel')
plt.ylabel('Temperatur (°C)')
plt.title('Temperaturverlauf Tank 2 (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_Tank2.svg', format='svg', bbox_inches='tight')
# Grafik anzeigen (optional)
plt.show()