summaryrefslogtreecommitdiff
path: root/trace_courbe.py
diff options
context:
space:
mode:
Diffstat (limited to 'trace_courbe.py')
-rw-r--r--trace_courbe.py47
1 files changed, 34 insertions, 13 deletions
diff --git a/trace_courbe.py b/trace_courbe.py
index 0c7a1d0..1188fc4 100644
--- a/trace_courbe.py
+++ b/trace_courbe.py
@@ -16,13 +16,16 @@ import matplotlib.pyplot as plt
16# Ainsi que les calculs additionnels. 16# Ainsi que les calculs additionnels.
17 17
18 18
19def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err): 19def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, enfants_add = []):
20 """ conf est le dictionnaire de config. l_jours et l_poids les listes des temps (en jours) et de données 20 """ conf est le dictionnaire de config. l_jours et l_poids les listes des temps (en jours) et de données
21 (donc pas forcément du poids) 21 (donc pas forcément du poids)
22 typedonnee est le type de données (voir CONFIG["liste_typedonnees"] 22 typedonnee est le type de données (voir CONFIG["liste_typedonnees"]
23 liste_err la liste des erreurs à compléter (voir gestion_erreurs)) 23 liste_err la liste des erreurs à compléter (voir gestion_erreurs))
24 Renvoie la figure tracée, et les calculs additionnels sont mis sous forme de chaîne dans la liste 24 Renvoie la figure tracée, et les calculs additionnels sont mis sous forme de chaîne dans la liste
25 liste_extracalculs""" 25 liste_extracalculs
26
27 Les enfants en plus sont dans la liste enfants_add. Pour chaque item de la liste, il faut prendre
28 item[typed] pour avoir accès au nom, ljours, et ldonnees"""
26 debug("debut de cree_figure. Config : "+str(conf),liste_err) 29 debug("debut de cree_figure. Config : "+str(conf),liste_err)
27 try: 30 try:
28 liste_data_labels_p,liste_data_labels_z = oms.renvoie_liste_labels(conf,CONFIG["liste_data_choisie_p"],CONFIG["liste_data_choisie_z"],liste_err) 31 liste_data_labels_p,liste_data_labels_z = oms.renvoie_liste_labels(conf,CONFIG["liste_data_choisie_p"],CONFIG["liste_data_choisie_z"],liste_err)
@@ -107,16 +110,7 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err):
107 erreur("Type de courbe invalide"+conf["typecourbe"],liste_err) 110 erreur("Type de courbe invalide"+conf["typecourbe"],liste_err)
108 return "" 111 return ""
109 112
110 # Si y'a un nom on met "courbe de machin" 113 ## On finira le titre plus tard quand on aura su qui est concerné
111 if conf["nom"] !="":
112 titre += " de " +conf["nom"]
113
114 if prema>0:
115 titre+= ", préma de "+conf["prematurite"]
116 if conf["agecorrige"] == "oui":
117 titre+=" (courbe en âge corrigé)"
118 else:
119 titre+=" (courbe en âge réel, données OMS décalées)"
120 114
121 #debug("cree_figure : géré le type de courbe ok. Liste des data labels : "+str(liste_data_labels),liste_err) 115 #debug("cree_figure : géré le type de courbe ok. Liste des data labels : "+str(liste_data_labels),liste_err)
122 debug("Fichier d'où extraire les données : "+fichier_oms,liste_err) 116 debug("Fichier d'où extraire les données : "+fichier_oms,liste_err)
@@ -161,8 +155,35 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err):
161 155
162 ### Tracé pour de bon 156 ### Tracé pour de bon
163 if l_jours != []: 157 if l_jours != []:
164 ax.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["cadretxt"],marker='o') 158 ax.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["cadretxt"],marker=conf["symbole"])
165 debug("Tracé de la courbe enfant, avec les jours "+str(l_jours_conv),liste_err) 159 debug("Tracé de la courbe enfant, avec les jours "+str(l_jours_conv),liste_err)
160
161
162 listenoms = []
163 if conf["nom"] != "": # Ajouter le nom de l'enfant
164 listenoms.append(conf["nom"])
165
166 for enfant in enfants_add: # Enfants additionnels éventuels
167 conf_add, lj, ld = enfant[typedonnee] # On récuère les données
168 if lj != []: # pas la peine de tracer si y'a rien à tracer
169 # Ajouter le nom de cet enfant-là
170 listenoms.append(conf_add["nom"])
171 lj_conv = u.convertit_tableau(lj,unite,liste_err)
172 ax.plot(lj_conv, ld, label=conf_add["nom"], color=conf["couleurs"]["cadretxt"],marker=conf_add["symbole"])
173 if conf["sexe"] != conf_add["sexe"]:
174 warning("Attention, tous les enfants n'ont pas le même sexe. La courbe de référence est celle de "+conf["nom"]+" et ne sera pas forcément pertinente pour les autres. Vous pouvez éventuellement essayer la courbe neutre. Remarque : cette alerte s'affichera quand même.", liste_err)
175
176 # Si y'a un nom on met "courbe de machin"
177 if listenoms != []:
178 titre += " de " +", ".join(listenoms)
179
180 if prema>0:
181 titre+= ", préma de "+conf["prematurite"]
182 if conf["agecorrige"] == "oui":
183 titre+=" (courbe en âge corrigé)"
184 else:
185 titre+=" (courbe en âge réel, données OMS décalées)"
186
166 187
167 #### extrapolatios éventuelles 188 #### extrapolatios éventuelles
168 # a-t-on demndé des calculs ? 189 # a-t-on demndé des calculs ?