diff options
Diffstat (limited to 'trace_courbe.py')
-rw-r--r-- | trace_courbe.py | 47 |
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 | ||
19 | def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err): | 19 | def 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 ? |