trend/plott1.py

55 lines
1.7 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 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()