diff --git a/Chegodaiev.py b/Chegodaiev.py index d22bf64d8d080f9b0736bc170ec2682831059243..b9b6728fa684c53c45c937a9af31df7918ddcee2 100644 --- a/Chegodaiev.py +++ b/Chegodaiev.py @@ -1,17 +1,20 @@ """ -CPoulard Tchégodaiev / Hazen +CPoulard ; mai 2021 +côté "métier" : montrer le principe des formules Tchégodaiev / Hazen utilisées en hydrologie (TD 1ere année ENTPE) et la relation fréquence/période de retour +coté "Python" : mettre en oeuvre deux widgets de matplotlib (Checkbutton et Slider), faciles d'emploi mais au rendu pas très abouti ; définir les fonctions associées à des événements sur ces boutons ; manipuler les fonctions en tant qu'objet (fonction_en_cours = une des 3 fonctions disponibles...) """ from matplotlib import pyplot as plt -from matplotlib.widgets import Slider, CheckButtons +from matplotlib.widgets import Slider, CheckButtons # widgets du module matplotlib ! import numpy as np from numpy.random import gumbel +# FONCTIONS - +# trois fonctions correspondant chacune à une manière de définir un échantillon de nb valeurs def echantillon_uniforme(nb): - return sorted(range(1, N+1), reverse=True) + return sorted(range(1, nb+1), reverse=True) def echantillon_constant(nb): # non encore testé @@ -24,10 +27,15 @@ def echantillon_gumbel(nb): return sorted(gumbel(loc=x0, scale=gr, size=nb)) +# deux fonctions correspondant chacune à une manière de définir une période de retour empirique +# on pourrait se contenter de la seconde, avec des paramètres par défaut égaux à ceux de la première + def T_emp_Tchego(n_annees): plotting_positions_Tchego = [((n_annees + 0.4) / ((indice + 1) - 0.3)) for indice in range(n_annees)] print("Tchégo ", plotting_positions_Tchego) + # amélioration de l'affichage avec le méthode join + print("Périodes de retour empiriques TTchégo : ", " / ".join([f"{T:.2f}" for T in plotting_positions_Tchego])) return plotting_positions_Tchego def T_emp_parametre(n_annees, a , b): @@ -117,8 +125,11 @@ def switch_freq(label): #plt.ion() -a = 0.3 -b = 0.4 + +a_Tchego, b_Tchego = 0.3 , 0.4 # affectation de plusieurs valeurs simultanées par tuples +# initialisation des paramètres de départ (modifiables par curseur) +a = a_Tchego +b = b_Tchego N = 10 methode_echantillonnage = echantillon_uniforme echantillon = methode_echantillonnage(N)