Materialien/durschl-luft-graph.py

46 lines
1.5 KiB
Python

import matplotlib.pyplot as plt
import numpy as np
# Daten
data = {
"Länge..mm": [5, 9, 13, 17, 21, 25, 29, 33, 37, 41],
"U..kV": [12.1, 20.1, 28.1, 36.9, 42.5, 48.5, 54.9, 59.5, 64, 68.4],
"U..kV (3kV/mm)": [15, 27, 39, 51, 63, 75, 87, 99, 111, 123],
"ED-Real": [2.42, 2.23, 2.16, 2.17, 2.02, 1.94, 1.89, 1.80, 1.73, 1.67],
}
# Daten in NumPy-Arrays umwandeln
x = np.array(data["Länge..mm"])
u1 = np.array(data["U..kV"])
u2 = np.array(data["U..kV (3kV/mm)"])
ed_real = np.array(data["ED-Real"])
# Diagramm und Subplots erstellen
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(8, 6))
# U..kV und U..kV (3kV/mm) auf dem ersten Subplot darstellen
ax1.plot(x, u1, label="Messwerte", marker='o', linestyle='-', color='blue') # Linien hinzugefügt
ax1.plot(x, u2, label="Erwartung (3kV/mm)", marker='x', linestyle='--', color='green') # Unterschiedliche Linienart
# Fläche zwischen den beiden Linien füllen
ax1.fill_between(x, u1, u2, color='red', alpha=0.3, label="Abweichung")
# Beschriftungen und Titel für den ersten Subplot setzen
ax1.set_ylabel("Spannung U [kV]") # Deutlichere Beschriftung
ax1.legend()
ax1.grid(True)
# ED-Real auf dem zweiten Subplot darstellen
ax2.plot(x, ed_real, label="ED-Real", marker='o', linestyle='-', color='blue')
# Beschriftungen für den zweiten Subplot setzen
ax2.set_xlabel("Länge l [mm]")
ax2.set_ylabel("Feldstärke ED [kV/mm]") # Korrekte Einheit hinzugefügt!
ax2.legend()
ax2.grid(True)
# Abstand zwischen den Subplots anpassen
plt.tight_layout()
# Diagramm anzeigen
plt.show()