# -*- coding: utf-8 -*-
"""
Created on Fri Oct  3 12:36:25 2025

@author: Moritz Romeike
"""

# ------------------------------------------------------------------------
# Programmcode 15 (Python): Q-Q-Plot der produzierten Power-Dioden 01 bis 08
# ------------------------------------------------------------------------
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats

# Für Reproduzierbarkeit
np.random.seed(123)

# Simulierte Daten für 8 Dioden
diodentypen = ["Diode 01","Diode 02","Diode 03","Diode 04",
               "Diode 05","Diode 06","Diode 07","Diode 08"]

produktion = np.concatenate([
    np.random.normal(loc=50000, scale=2000, size=50),  # Diode 01
    np.random.normal(loc=42000, scale=1800, size=50),  # Diode 02
    np.random.normal(loc=39000, scale=1700, size=50),  # Diode 03
    np.random.normal(loc=37000, scale=1600, size=50),  # Diode 04
    np.random.normal(loc=35000, scale=1500, size=50),  # Diode 05
    np.random.normal(loc=31000, scale=1400, size=50),  # Diode 06
    np.random.normal(loc=29000, scale=1300, size=50),  # Diode 07
    np.random.normal(loc=25000, scale=1200, size=50)   # Diode 08
])

labels = np.repeat(diodentypen, 50)
df = pd.DataFrame({"DiodenTyp": labels, "Produktion": produktion})

# Facetten-ähnliche Darstellung: Subplots für jede Diode
fig, axes = plt.subplots(2, 4, figsize=(14, 8))

for ax, dtype in zip(axes.flatten(), diodentypen):
    vals = df.loc[df["DiodenTyp"]==dtype, "Produktion"].values
    stats.probplot(vals, dist="norm", plot=ax)
    ax.get_lines()[1].set_color("red")  # Referenzlinie rot
    ax.set_title(dtype)

fig.suptitle("Q-Q-Plot der Produktionsverteilung für verschiedene Dioden", fontsize=14)
plt.tight_layout(rect=[0,0,1,0.95])
plt.show()
# ------------------------------------------------------------------------
