Materialien/piezo-gewichte-graph.py
2025-01-28 21:18:43 +01:00

32 lines
1.1 KiB
Python

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# Deine Daten (in mV)
data_10g = [412, 284, 360, 548, 280, 304, 380, 312, 278, 444]
data_20g = [960, 960, 992, 968, 936, 952, 1160, 1200, 1010, 1000]
data_50g = [1180, 2020, 1120, 1260, 1240, 1580, 1140, 2340, 1700, 1060]
data_100g = [4080, 5280, 5160, 5080, 3520, 4280, 4800, 5120, 4400, 4240]
data = [data_10g, data_20g, data_50g, data_100g]
labels = ['10g', '20g', '50g', '100g']
means = [np.mean(d) for d in data]
# Violin Plots
plt.figure(figsize=(8, 6))
ax = sns.violinplot(data=data, inner="box")
# X-Achsen-Ticks und Beschriftungen anpassen
x_coords = ax.get_xticks() # X-Koordinaten der Ticks abrufen
new_labels = []
for i, label in enumerate(labels):
new_labels.append(f"{label}\n{means[i]:.2f} mV") # Neue Beschriftungen mit Durchschnitt
ax.set_xticks(x_coords) # Ticks setzen
ax.set_xticklabels(new_labels) # Neue Beschriftungen setzen
ax.set_xlabel('Gewicht')
ax.set_ylabel('Ergebnis [mV]')
ax.set_title('Messwert Aufteilung der gemessenen Spannungen pro Gewicht')
plt.tight_layout()
plt.show()