summaryrefslogtreecommitdiff
path: root/trace_courbe.py
diff options
context:
space:
mode:
Diffstat (limited to 'trace_courbe.py')
-rw-r--r--trace_courbe.py55
1 files changed, 51 insertions, 4 deletions
diff --git a/trace_courbe.py b/trace_courbe.py
index fab6471..9cb4845 100644
--- a/trace_courbe.py
+++ b/trace_courbe.py
@@ -4,6 +4,7 @@ from configuration import CONFIG
4from gestionOMS import * 4from gestionOMS import *
5from gestion_unites import * 5from gestion_unites import *
6from gestion_donnees import calcule_max_graphique, convertit_jours_vers_python 6from gestion_donnees import calcule_max_graphique, convertit_jours_vers_python
7from numpy import arange
7 8
8import matplotlib.pyplot as plt 9import matplotlib.pyplot as plt
9 10
@@ -139,10 +140,11 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_err):
139 plt.rcParams['ytick.color'] = conf["couleurs"]["cadretxt"] 140 plt.rcParams['ytick.color'] = conf["couleurs"]["cadretxt"]
140 plt.rcParams['grid.color'] = conf["couleurs"]["grille"] 141 plt.rcParams['grid.color'] = conf["couleurs"]["grille"]
141 plt.rcParams['legend.edgecolor'] = conf["couleurs"]["grille"] 142 plt.rcParams['legend.edgecolor'] = conf["couleurs"]["grille"]
143 ax = plt.axes()
142 144
143 #Tracé des courbes OMS 145 #Tracé des courbes OMS
144 for (i,label,couleur) in liste_data_labels: 146 for (i,label,couleur) in liste_data_labels:
145 plt.plot(coljour,extraire_colonne(t,i,jour_maxi),label=label,color=couleur) 147 ax.plot(coljour,extraire_colonne(t,i,jour_maxi),label=label,color=couleur)
146 #warning("colonne"+str(i)+str(label)+str(couleur),liste_err) 148 #warning("colonne"+str(i)+str(label)+str(couleur),liste_err)
147 149
148 debug("cree_figure : tracé des courbes OMS ok",liste_err) 150 debug("cree_figure : tracé des courbes OMS ok",liste_err)
@@ -166,13 +168,13 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_err):
166 poids_min = max(0,poids_min-1) 168 poids_min = max(0,poids_min-1)
167 #max : +5% 169 #max : +5%
168 poids_max = poids_max * 1.05 170 poids_max = poids_max * 1.05
169 171
170 172
171 debug("cree_figure : prête à tracer la courbe de l'enfant",liste_err) 173 debug("cree_figure : prête à tracer la courbe de l'enfant",liste_err)
172 174
173 ### Tracé pour de bon 175 ### Tracé pour de bon
174 if l_jours != []: 176 if l_jours != []:
175 plt.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["cadretxt"],marker='o') 177 ax.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["cadretxt"],marker='o')
176 debug("Tracé de la courbe enfant, avec les jours "+str(l_jours_conv),liste_err) 178 debug("Tracé de la courbe enfant, avec les jours "+str(l_jours_conv),liste_err)
177 179
178 #### extrapolatios éventuelles 180 #### extrapolatios éventuelles
@@ -192,6 +194,48 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_err):
192 else: 194 else:
193 debug("On ne trace pas de courbe enfant", liste_err) 195 debug("On ne trace pas de courbe enfant", liste_err)
194 196
197 debug("Début de la gestion de l'échelle", liste_err)
198 ### échelle à régler
199
200 if conf["non_sauve"]["grilleamelio"] == "oui":
201
202 pas=choix_echelle_data(typedonnee, poids_max)
203 # data_min_arrondie
204 minechelle = int(poids_min/pas[0])*pas[0]
205
206 debug("pas choisis pour l'échelle en y : "+str(pas), liste_err)
207 echellemajeure = arange(minechelle, poids_max, pas[0])
208
209 if pas[1] >0:
210 echellemineure = arange(minechelle, poids_max, pas[1])
211 else:
212 echellemineure = []
213
214 ax.set_yticks(echellemajeure, minor=False)
215 ax.set_yticks(echellemineure, minor=True)
216
217 # échelle en temps
218 pas=choix_echelle_temps(unite, age_maxi)
219 debug("pas choisis pour l'échelle en x : "+str(pas), liste_err)
220
221 echellemajeure = arange(0,age_maxi, pas[0])
222 if pas[1] >0:
223 echellemineure = arange(0,age_maxi, pas[1])
224 else:
225 echellemineure = []
226 ax.set_xticks(echellemajeure, minor=False)
227 ax.set_xticks(echellemineure, minor=True)
228
229
230 #### Aspect du graphique
231
232 debug("On commende la déco du graphique", liste_err)
233
234 # La grille
235 ax.grid(conf["grille"]=="oui")
236 ax.grid(conf["grille"] == "oui", which="minor", linestyle="--")
237
238
195 plt.xlabel("Âge en "+unite,color=conf["couleurs"]["cadretxt"]) 239 plt.xlabel("Âge en "+unite,color=conf["couleurs"]["cadretxt"])
196 plt.ylabel(typedonnee.capitalize()+" en "+CONFIG["unites_typedonnees"][typedonnee],color=conf["couleurs"]["cadretxt"]) 240 plt.ylabel(typedonnee.capitalize()+" en "+CONFIG["unites_typedonnees"][typedonnee],color=conf["couleurs"]["cadretxt"])
197 #print("bla") 241 #print("bla")
@@ -207,7 +251,7 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_err):
207 if conf['legende']=="oui": 251 if conf['legende']=="oui":
208 legende = plt.legend(loc=conf['positionlegende']) 252 legende = plt.legend(loc=conf['positionlegende'])
209 plt.setp(legende.get_texts(), color=conf["couleurs"]["cadretxt"]) 253 plt.setp(legende.get_texts(), color=conf["couleurs"]["cadretxt"])
210 plt.grid(conf["grille"]=="oui") 254
211 255
212 fig.tight_layout() 256 fig.tight_layout()
213 257
@@ -216,6 +260,9 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_err):
216 260
217 261
218 262
263
264### Pour extrapoler la courbe
265
219def prolongecourbe(tableauOMS, date, donnee, nouvdates, typecourbe, liste_err): 266def prolongecourbe(tableauOMS, date, donnee, nouvdates, typecourbe, liste_err):
220 """ tableauOMS est le ableau des données OMS. date et donnee sont la date (jours) 267 """ tableauOMS est le ableau des données OMS. date et donnee sont la date (jours)
221 et la dernière donnée d'où on extrapole. On veut les extrapolations à nouvdate 268 et la dernière donnée d'où on extrapole. On veut les extrapolations à nouvdate