#!/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_tank1 = 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_tank1 = cursor.fetchall() # 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 1) datetimes_istwert_tank1 = [row[0] for row in rows_istwert_tank1] temperaturen_istwert_tank1 = [row[1] for row in rows_istwert_tank1] datetimes_sollwert_tank1 = [row[0] for row in rows_sollwert_tank1] temperaturen_sollwert_tank1 = [row[1] for row in rows_sollwert_tank1] # 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 1) plt.plot(datetimes_istwert_tank1, temperaturen_istwert_tank1, label='Istwert Tank 1', color='blue') # Plot für Sollwert (Tank 1) plt.plot(datetimes_sollwert_tank1, temperaturen_sollwert_tank1, label='Sollwert Tank 1', color='red', linestyle='--') # 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 1 und 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.svg', format='svg', bbox_inches='tight') # Grafik anzeigen (optional) plt.show()