échelle adaptée si on demande une donnée supérieure au max.
authorDenise sur Lya <sekhmet@lya>
Mon, 19 Apr 2021 12:49:25 +0000 (14:49 +0200)
committerDenise sur Lya <sekhmet@lya>
Mon, 19 Apr 2021 12:49:25 +0000 (14:49 +0200)
calculs_extrapole.py
gestion_donnees.py
trace_courbe.py

index 509402be0f4d226452d7ac562f8bd26744036b66..fdd4c680830cc2315b5bb513673ae9ff512efde6 100644 (file)
@@ -177,14 +177,14 @@ def formate_resultat_age(age, donnee, typedonnee, extra, liste_err):
 
 def formate_extrapole(nb_extra):
     """ Renvoie une chaîne qui dit sur cb on a extrapolé"""
-    message="extrapolation sur "
+    message="extrapolation à partir "
     if nb_extra== 0:
-        message+="l'ensemble des données"
+        message+="de l'ensemble des données"
     elif nb_extra==1:
-        message+="la donnée la plus récente"
+        message+="de la donnée la plus récente"
     else:
-        message+="les "+str(nb_extra)+" dernières données"
+        message+="des "+str(nb_extra)+" dernières données"
     return message
 
 def formate_interpole():
-    return "interpolation sur les données existantes"
\ No newline at end of file
+    return "interpolation à partir des données existantes"
\ No newline at end of file
index 2153a55f814cf0cb6660d71ca4842e475b3a5544..7c2299759df556a7af40336bf69d9b8d28f31adc 100644 (file)
@@ -175,9 +175,14 @@ def web_vers_python(data,liste_err):
     for typed in CONFIG["liste_typedonnees"]:
         listes_jours[typed],listes_donnees[typed] = gere_donnees(data,config["naissance"],typed,liste_err)
 
+    # Si on veut extrapoler au-delà du jour maxi, on adapte
+
     # Si on a choisi la même échelle de données
     if config["memechelle"] == "oui":
         config["non_sauve"]["maxi"] = calcule_max_graphique([j for lj in listes_jours.values() for j in lj])
+        # En cas d'extrapolation, on prend le maxi
+        if config["non_sauve"]["calculextradata_type"] !="" and config["non_sauve"]["calculextradata_age"]>config["non_sauve"]["maxi"]:
+            config["non_sauve"]["maxi"] = int(config["non_sauve"]["calculextradata_age"]) +1
         config["non_sauve"]["unite"] = choix_unite(config["non_sauve"]["maxi"])
     
     return (config,listes_jours,listes_donnees)
index 28ee5b4c29b99ca523e900223f9dff7d0448a653..0c7a1d075151d55e584d09b1e76ba32b531c663b 100644 (file)
@@ -3,7 +3,7 @@
 from configuration import CONFIG
 import gestionOMS as oms
 import gestion_unites as u
-from gestion_donnees import calcule_max_graphique, convertit_jours_vers_python, convertit_age_vers_texte
+from gestion_donnees import calcule_max_graphique, convertit_jours_vers_python
 from gestion_erreurs import debug, erreur, warning
 from calculs_extrapole import calcule_donnee_extrapolee, calcule_age_extrapole, interpole_lineaire, interpole_lineaire_ordonnee, formate_resultat_donnee, formate_resultat_age, formate_interpole, formate_extrapole
 
@@ -40,6 +40,10 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err):
             jour_maxi = conf["non_sauve"]["maxi"]+1
     else:
         jour_maxi = conf["maxi"]+1
+    
+    # Si on cherche à extrapoler au-delà
+    if conf["non_sauve"]["calculextradata_type"] == typedonnee and conf["non_sauve"]["calculextradata_age"]>jour_maxi:
+        jour_maxi =  int(conf["non_sauve"]["calculextradata_age"]) +1
         
     # On s'assure que c'est bien compris dans les bornes
     jour_maxi = max(CONFIG["jours_mini_courbe"],min(jour_maxi,CONFIG["jours_maxi_courbe"]))