Commit 2c2be21f authored by Poulard Christine's avatar Poulard Christine :snake:
Browse files

Update Chegodaiev.py : correction bugs et ajout de a_Tchego, b_Tchego = 0.3 ,...

Update Chegodaiev.py : correction bugs et ajout  de a_Tchego, b_Tchego = 0.3 , 0.4  # affectation de plusieurs valeurs simultanées par tuples
parent 379d54a7
No related merge requests found
Showing with 17 additions and 6 deletions
+17 -6
"""
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)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment