From 2c2be21f3213b00f4bc87163be768d0da18db452 Mon Sep 17 00:00:00 2001 From: Poulard Christine <christine.poulard@irstea.fr> Date: Thu, 6 May 2021 17:40:48 +0000 Subject: [PATCH] =?UTF-8?q?Update=20Chegodaiev.py=20:=20correction=20bugs?= =?UTF-8?q?=20et=20ajout=20=20de=20a=5FTchego,=20b=5FTchego=20=3D=200.3=20?= =?UTF-8?q?,=200.4=20=20#=20affectation=20de=20plusieurs=20valeurs=20simul?= =?UTF-8?q?tan=C3=A9es=20par=20tuples?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Chegodaiev.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Chegodaiev.py b/Chegodaiev.py index d22bf64..b9b6728 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) -- GitLab