import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson
# Données
nb_coups = np.array([1, 2, 3, 4, 5, 6, 7])
occurrences = np.array([7, 9, 8, 8, 5, 8, 2])
# Reconstruction des données brutes (utile pour histogramme)
data = []
for val, occ in zip(nb_coups, occurrences):
data.extend([val] * occ)
data = np.array(data)
# Paramètre de la loi de Poisson
lambda_poisson = np.mean(data)
# Valeurs pour la loi théorique
x = np.arange(0, 10)
poisson_pmf = poisson.pmf(x, lambda_poisson)
# Normalisation pour comparer avec les occurrences
poisson_scaled = poisson_pmf * len(data)
# --- Affichage ---
plt.figure(figsize=(8, 5))
# Histogramme des données
plt.hist(data, bins=np.arange(0.5, 8.5, 1), alpha=0.6, label="Données observées", edgecolor='black')
# Courbe de Poisson
plt.plot(x, poisson_scaled, 'o-', color='red',label=f"Loi de Poisson (λ={lambda_poisson:.2f})")
# Personnalisation
plt.xlabel("Nombre de coups corrigé du bruit")
plt.ylabel("Occurrences")
plt.title("Comparaison données vs loi de Poisson")
plt.legend()
plt.grid()
plt.show()
To embed this program on your website, copy the following code and paste it into your website's HTML: