import matplotlib.pyplot as plt
import numpy as np

# Données
valeurs = [354.6, 352.1, 331.6, 338.3, 341.9, 326. , 354.3, 344. , 351. ,
       322.8, 325.6, 356.1, 351.3, 332.2, 330.4, 334.8, 356.7, 341.9,
       321.3, 340.8, 342.8, 353.2, 321.1, 352.4, 331.4, 365.6, 357. ,
       324.1, 339.2, 325.1, 355.1, 342.6, 325.4, 309. , 345. , 353.1]

# Calcul moyenne et écart-type
moyenne = np.mean(valeurs)
ecart_type = np.std(valeurs)

# Tracer l'histogramme
plt.hist(valeurs, rwidth=1, bins='auto', color='skyblue', edgecolor='black')
plt.xlabel('Valeurs')
plt.ylabel('Nombres')
plt.title("Histogramme avec moyenne et écart-type")

# Affichage de la moyenne avec une ligne rouge
plt.axvline(moyenne, color='red', linestyle='--', linewidth=2, label=f'Moyenne = {moyenne:.1f}')

# Affichage de l'écart-type avec une double flèche
plt.annotate(
    '', 
    xy=(moyenne - ecart_type, plt.ylim()[1]*0.9), 
    xytext=(moyenne + ecart_type, plt.ylim()[1]*0.9), 
    arrowprops=dict(arrowstyle='<->', color='green', linewidth=2)
)
plt.text(moyenne, plt.ylim()[1]*0.93, f'±{ecart_type:.1f}', ha='center', color='green')

# Légende
plt.legend()

# Affichage final
plt.show()
