trend/plotact.py

51 lines
1.6 KiB
Python
Raw Permalink 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 letzten 10 Istwerte von Tank 1 abzurufen
cursor.execute("SELECT zeitstempel, temperatur FROM istwert WHERE messstelle = 1 ORDER BY zeitstempel ASC LIMIT 30")
rows_tank1_istwert = cursor.fetchall()
datetimes_tank1_istwert = [row[0] for row in rows_tank1_istwert]
temperaturen_tank1_istwert = [row[1] for row in rows_tank1_istwert]
# SQL-Abfrage, um die letzten 10 Istwerte von Tank 2 abzurufen
cursor.execute("SELECT zeitstempel, temperatur FROM istwert WHERE messstelle = 2 ORDER BY zeitstempel ASC LIMIT 30")
rows_tank2_istwert = cursor.fetchall()
datetimes_tank2_istwert = [row[0] for row in rows_tank2_istwert]
temperaturen_tank2_istwert = [row[1] for row in rows_tank2_istwert]
conn.close()
# Grafik erstellen
plt.figure(figsize=(12, 8))
# Plot für Istwert (Tank 1)
plt.plot(datetimes_tank1_istwert, temperaturen_tank1_istwert, label='Istwert Tank 1', color='blue')
# Plot für Istwert (Tank 2)
plt.plot(datetimes_tank2_istwert, temperaturen_tank2_istwert, label='Istwert Tank 2', color='green')
plt.xlabel('Zeitstempel')
plt.ylabel('Temperatur (°C)')
plt.title('Aktuelle Temperaturwerte von Tank 1 und Tank 2')
# Vertikale Ausrichtung der x-Achsenbeschriftung
plt.xticks(rotation='vertical')
plt.legend()
plt.grid(True)
# Speichern Sie die Grafik als SVG-Datei
plt.savefig('AktuellT1T2.svg', format='svg', bbox_inches='tight')
# Grafik anzeigen (optional)
plt.show()