summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configuration.py3
-rw-r--r--data/changelog_data.txt5
-rw-r--r--gestion_donnees.py16
-rw-r--r--static/outilspage.js21
-rw-r--r--static/style.css9
-rw-r--r--templates/index.html42
-rw-r--r--trace_courbe.py22
7 files changed, 98 insertions, 20 deletions
diff --git a/configuration.py b/configuration.py
index 80a9545..f7dc1f3 100644
--- a/configuration.py
+++ b/configuration.py
@@ -135,6 +135,9 @@ DEFAUT["grilleamelio"] = "oui"
135 135
136DEFAUT["prematurite"] = "0j" 136DEFAUT["prematurite"] = "0j"
137DEFAUT["agecorrige"] = "oui" 137DEFAUT["agecorrige"] = "oui"
138#repere = {"typed": "age", "donnee": "", "texte": ""}
139DEFAUT["liste_reperes"] = []
140DEFAUT["nb_reperes_mini"] = 3 # Nombre minimum de lignes de repères
138 141
139# initialiser la config 142# initialiser la config
140def config_init(): 143def config_init():
diff --git a/data/changelog_data.txt b/data/changelog_data.txt
index a7c959e..2529da7 100644
--- a/data/changelog_data.txt
+++ b/data/changelog_data.txt
@@ -1,9 +1,10 @@
1"Version 2.4","29/06/2021","<p>Plus de courbes ! Et autres... 1"Version 2.45","29/06/2021","<p>Plus de courbes ! Et autres...
2<ul> 2<ul>
3<li>On peut désormais personnaliser la couleur et le symbol de la courbe (principale).</li> 3<li>On peut désormais personnaliser la couleur et le symbol de la courbe (principale).</li>
4<li>Les dates sont maintenant exportées et importées. C'est plus sympa pour la lecture (pour le calcul, la donnée en âge l'emporte).</li> 4<li>Les dates sont maintenant exportées et importées. C'est plus sympa pour la lecture (pour le calcul, la donnée en âge l'emporte).</li>
5<li>Une version de l'appli est incluse dans le fichier de sauvegarde. On affiche un petit message si la version du fichier importé est inférieure à celle du site, mais normalement tout reste compatible. Si vous voulez la toute dernière version, il suffit de ré-enregistrer vos données, tout simplement.</li> 5<li>Une version de l'appli est incluse dans le fichier de sauvegarde. On affiche un petit message si la version du fichier importé est inférieure à celle du site, mais normalement tout reste compatible. Si vous voulez la toute dernière version, il suffit de ré-enregistrer vos données, tout simplement.</li>
6<li>Normalement on peut saisir les dates au format aaaa/mm/dd si on est en mode "texte" pour plus de cohérence avec l'affichage "confortable".</li> 6<li>Il est possible de tracer des repères sur les courbes (lignes verticales à un âge donné). Ces repères sont sauvegardés (et vous pouvez décocher le ""tracer"" afin de les sauvegarder sans les tracer).</li>
7<li>Normalement on peut saisir les dates au format aaaa/mm/dd si on est en mode ""texte"" pour plus de cohérence avec l'affichage ""confortable"".</li>
7<li>Courbes de plusieurs enfants : 8<li>Courbes de plusieurs enfants :
8<ul> 9<ul>
9<li>Les données et la configuration sont celles de l'enfant qu'on a saisi en ""principal""</li> 10<li>Les données et la configuration sont celles de l'enfant qu'on a saisi en ""principal""</li>
diff --git a/gestion_donnees.py b/gestion_donnees.py
index 137849d..8e19d8b 100644
--- a/gestion_donnees.py
+++ b/gestion_donnees.py
@@ -368,6 +368,19 @@ def gere_configuration(data,liste_err, court=False):
368 configuration["non_sauve"]["calculextratemps_trace"] = gere_checkbox(data.get("calculextratemps_trace")) 368 configuration["non_sauve"]["calculextratemps_trace"] = gere_checkbox(data.get("calculextratemps_trace"))
369 369
370 370
371 ### Gestion des repères additionnels
372 configuration["liste_reperes"] = []
373 i=0
374 while "repere_texte_"+str(i) in data: # Tant qu'il y a des trucs définis
375 debug("Repère trouvé", liste_err)
376 age=data.get("repere_age_"+str(i), "")
377 trace=gere_checkbox(data.get("repere_trace_"+str(i), ""))
378 if age !="":
379 agec=convertit_jours_vers_python(age, liste_err)
380 texte = data.get("repere_texte_"+str(i), "") # Même si le texte est vide, osef
381 configuration["liste_reperes"].append({"typed": "age", "donnee": agec, "texte": texte, "trace": trace})
382 i+=1
383
371 return configuration 384 return configuration
372 385
373 386
@@ -441,6 +454,9 @@ def donnees_vers_json(l_jours,l_poids,l_jourst,l_taille,config):
441 454
442 # gérer l'age maxi 455 # gérer l'age maxi
443 gros_dico["maxi"] = convertit_age_vers_texte(gros_dico["maxi"]) 456 gros_dico["maxi"] = convertit_age_vers_texte(gros_dico["maxi"])
457 # Gérer les repères
458 for i in range(len(gros_dico["liste_reperes"])):
459 gros_dico["liste_reperes"][i]["donnee"] = convertit_age_vers_texte(gros_dico["liste_reperes"][i]["donnee"])
444 # gérer les couleurs 460 # gérer les couleurs
445 for clecouleur in DEFAUT["couleurs"]: 461 for clecouleur in DEFAUT["couleurs"]:
446 gros_dico["couleurs"][clecouleur] = tuple_vers_rgb(gros_dico["couleurs"][clecouleur]) 462 gros_dico["couleurs"][clecouleur] = tuple_vers_rgb(gros_dico["couleurs"][clecouleur])
diff --git a/static/outilspage.js b/static/outilspage.js
index e350274..5d1fc41 100644
--- a/static/outilspage.js
+++ b/static/outilspage.js
@@ -26,7 +26,7 @@ function ajoutelignes()
26 var cellpoids = ligne.insertCell(2); 26 var cellpoids = ligne.insertCell(2);
27 var celltaille = ligne.insertCell(3); 27 var celltaille = ligne.insertCell(3);
28 28
29 cellage.innerHTML = '<input type="text" name="age_'+i+'">' ; 29 cellage.innerHTML = '<input type="text" class="data" name="age_'+i+'">' ;
30 celldate.innerHTML = '<input name="date_'+i+'">' ; 30 celldate.innerHTML = '<input name="date_'+i+'">' ;
31 celldate.firstChild.type = mode ; 31 celldate.firstChild.type = mode ;
32 if(mode == "text") // si on a déjà affiché les cases en mode texte, on continue en mode texte 32 if(mode == "text") // si on a déjà affiché les cases en mode texte, on continue en mode texte
@@ -35,8 +35,8 @@ function ajoutelignes()
35 celldate.firstChild.maxlength = taillemaxdate ; 35 celldate.firstChild.maxlength = taillemaxdate ;
36 celldate.firstChild.placeholder = placeholder_date ; 36 celldate.firstChild.placeholder = placeholder_date ;
37 } 37 }
38 cellpoids.innerHTML = '<input type="text" name="poids_'+i+'">' ; 38 cellpoids.innerHTML = '<input type="text" class="data" name="poids_'+i+'">' ;
39 celltaille.innerHTML = '<input type="text" name="taille_'+i+'">' ; 39 celltaille.innerHTML = '<input type="text" class="data" name="taille_'+i+'">' ;
40 celltaille.classList.add("donneesplus") ; 40 celltaille.classList.add("donneesplus") ;
41 if(deuxiemeligne.children[3].style.display == "block") 41 if(deuxiemeligne.children[3].style.display == "block")
42 celltaille.style.display = "block" ; 42 celltaille.style.display = "block" ;
@@ -163,3 +163,18 @@ function vide_champ(nom)
163 var elt = document.getElementById(nom) ; 163 var elt = document.getElementById(nom) ;
164 elt.value = "" ; 164 elt.value = "" ;
165} 165}
166
167function ajoute_reperes()
168{ // ajoute des repères
169 var eltul = document.getElementById("ajoutereperecourbe") ;
170 var nblignes = eltul.childElementCount ;
171// alert(nblignes) ;
172 var nb_additionnel = 2;
173 for(var i=nblignes; i<nblignes+nb_additionnel ; i++)
174 {
175 var elt = document.createElement("li") ;
176 elt.innerHTML = 'Âge&nbsp;: <input class="data" type="text" name="repere_age_'+i+'" value=""> Texte associé&nbsp;: <input class="texte" type="text" name="repere_texte_'+i+'" value="">' ;
177 eltul.appendChild(elt) ;
178 }
179
180}
diff --git a/static/style.css b/static/style.css
index b048f11..95cd55e 100644
--- a/static/style.css
+++ b/static/style.css
@@ -116,3 +116,12 @@ nav {
116#content { 116#content {
117 padding-bottom: 70px; 117 padding-bottom: 70px;
118} 118}
119
120/* Taille des champs */
121.texte {
122 width:20em
123}
124
125.data {
126 width:7em
127}
diff --git a/templates/index.html b/templates/index.html
index e9656da..abd1a13 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -24,7 +24,7 @@
24{% if "version" not in valform or valform.version < CONFIG.version %} 24{% if "version" not in valform or valform.version < CONFIG.version %}
25<p class="petit">Note : La version du fichier de sauvegarde est inférieure à la version du site ({{ CONFIG.version}}), mais cela ne devrait pas générer de bug (normalement). 25<p class="petit">Note : La version du fichier de sauvegarde est inférieure à la version du site ({{ CONFIG.version}}), mais cela ne devrait pas générer de bug (normalement).
26</p>{% elif valform.version > CONFIG.version %} 26</p>{% elif valform.version > CONFIG.version %}
27<p class="petit">Note : la version du fichier de sauvegarde ({{ valform.version }}) est <b>supérieure</b> à la version du site ({{ CONFIG.version}}). Soit vous avez voyagé dans le futur, soit vous avez testé un fichier de sauvegarde de la version bêta sur la version normale du site, soit vous avez trifouillé le fichier de sauvegarde, soit... je ne sais pas. Il se peut qu'il y ait des bugs. Ou pas.</p> 27<p class="petit">Note : la version du fichier de sauvegarde ({{ valform.version }}) est <b>supérieure</b> à la version du site ({{ CONFIG.version}}). Vous avez probablement avez testé un fichier de sauvegarde de la version bêta sur la version normale du site. Sinon c'est que vous avez voyagé dans le temps, trifouillé le fichier de sauvegarde, ou... je ne sais pas. Il se peut qu'il y ait des bugs. Ou pas.</p>
28{% endif %} 28{% endif %}
29{% endif %} 29{% endif %}
30 30
@@ -43,14 +43,14 @@
43 <input type="reset" id="reset_donnees" value="Effacer les données du formulaire"> 43 <input type="reset" id="reset_donnees" value="Effacer les données du formulaire">
44</div> 44</div>
45<ul> 45<ul>
46<li><label>Nom de l'enfant&nbsp;:</label> <input type="text" name="nom" value="{{ valform.nom }}"></li> 46<li><label>Nom de l'enfant&nbsp;:</label> <input type="text" class="texte" name="nom" value="{{ valform.nom }}"></li>
47<li><label>Sexe&nbsp;:</label> <label><input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin </label> 47<li><label>Sexe&nbsp;:</label> <label><input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin </label>
48| <label><input type="radio" name="sexe" value="M" {%if valform.sexe == "M"%} checked {% endif %}> masculin</label> | <label><input type="radio" name="sexe" value="N" {%if valform.sexe == "N"%} checked {% endif %}> neutre (expérimental)</label></li> 48| <label><input type="radio" name="sexe" value="M" {%if valform.sexe == "M"%} checked {% endif %}> masculin</label> | <label><input type="radio" name="sexe" value="N" {%if valform.sexe == "N"%} checked {% endif %}> neutre (expérimental)</label></li>
49<li><label>Date de naissance&nbsp;: </label> <input type="date" name="naissance" value="{{ valform.naissance }}"> 49<li><label>Date de naissance&nbsp;: </label> <input type="date" name="naissance" value="{{ valform.naissance }}">
50 <p id="changemode" class="petit"><span onclick="change_mode_dates('text')" class="bouton">Cliquer ici</span> pour saisir les dates comme du texte.</p> </li> 50 <p id="changemode" class="petit"><span onclick="change_mode_dates('text')" class="bouton">Cliquer ici</span> pour saisir les dates comme du texte.</p> </li>
51<li>Prématuré ? <span class="petit">(expérimental)</span> <span class="bouton" onclick="affiche_cache('prema',this)">Afficher</span> 51<li>Prématuré ? <span class="petit">(expérimental)</span> <span class="bouton" onclick="affiche_cache('prema',this)">Afficher</span>
52<div id="prema"><p class="petit">Si l'enfant est né prématuré (avant 37 semaines d'aménorrhée), indiquer de « combien » en durée (même syntaxe que pour les âges, voir plus bas). Sinon, laisser 0j.</p> 52<div id="prema"><p class="petit">Si l'enfant est né prématuré (avant 37 semaines d'aménorrhée), indiquer de « combien » en durée (même syntaxe que pour les âges, voir plus bas). Sinon, laisser 0j.</p>
53<label>Prématurité</label> <input type="text" name="prematurite" value="{{ valform.prematurite }}"> <input type="checkbox" name="agecorrige"{% if valform.agecorrige == "oui"%} checked{%endif%}> Afficher l'âge corrigé sur la courbe (plutôt que l'âge réel). 53<label>Prématurité</label> <input type="text" class="data" name="prematurite" value="{{ valform.prematurite }}"> <input type="checkbox" name="agecorrige"{% if valform.agecorrige == "oui"%} checked{%endif%}> Afficher l'âge corrigé sur la courbe (plutôt que l'âge réel).
54</div></li> 54</div></li>
55 55
56</ul> 56</ul>
@@ -69,14 +69,14 @@
69<p class="donneesplus">Si vous ne saisissez que des données de poids par exemple, la courbe de taille ne sera pas tracée (par défaut, voir préférences du graphique).</p> 69<p class="donneesplus">Si vous ne saisissez que des données de poids par exemple, la courbe de taille ne sera pas tracée (par défaut, voir préférences du graphique).</p>
70 70
71<table id="donneespoids"> 71<table id="donneespoids">
72 <tr><th>Âge</th><th>Date</th><th>Poids (kg ou g)</th><th class="donneesplus">Taille (cm) </th></tr> 72 <tr><th>Âge</th><th>Date</th><th>Poids</th><th class="donneesplus">Taille (cm) </th></tr>
73 73
74{% for i in range(valform.nb_data) %} 74{% for i in range(valform.nb_data) %}
75<tr><td> 75<tr><td>
76 <input type="text" name="age_{{ i }}" value="{{ valform['age_'~i] }}"> 76 <input type="text" class="data" name="age_{{ i }}" value="{{ valform['age_'~i] }}">
77</td><td><input type="date" name="date_{{ i }}" value="{{ valform['date_'~i] }}"></td> 77</td><td><input type="date" name="date_{{ i }}" value="{{ valform['date_'~i] }}"></td>
78 <td><input type="text" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td> 78 <td><input type="text" class="data" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td>
79 <td class="donneesplus"><input type="text" name="taille_{{ i }}" value="{{ valform['taille_'~i] }}"></td> 79 <td class="donneesplus"><input class="data" type="text" name="taille_{{ i }}" value="{{ valform['taille_'~i] }}"></td>
80 80
81</tr> 81</tr>
82{% endfor %} 82{% endfor %}
@@ -102,13 +102,13 @@
102 <option value="{{ unite }}"{% if valform.unite == unite %} selected {% endif %} >{{ unite }}</option> 102 <option value="{{ unite }}"{% if valform.unite == unite %} selected {% endif %} >{{ unite }}</option>
103 {% endfor %} 103 {% endfor %}
104 </select></label></li> 104 </select></label></li>
105 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li> 105 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge) </label><input type="text" class="data" name="maxi" value="{{ valform.maxi }}"></li>
106 106
107 <li><label>Même échelle sur tous les graphiques&nbsp;: </label><input type="checkbox" name="memechelle" {% if valform.memechelle == 'oui' %} checked{% endif %}></li> 107 <li><label>Même échelle sur tous les graphiques&nbsp;: </label><input type="checkbox" name="memechelle" {% if valform.memechelle == 'oui' %} checked{% endif %}></li>
108 <li><label>Grille améliorée&nbsp;:</label><input type="checkbox" name="grilleamelio" {% if valform.grilleamelio == 'oui' %} checked{% endif %}></li> 108 <li><label>Grille améliorée&nbsp;:</label><input type="checkbox" name="grilleamelio" {% if valform.grilleamelio == 'oui' %} checked{% endif %}></li>
109 109
110 <li>Dimensions du graphique&nbsp;: <label>largeur&nbsp;: </label><input type="text" name="largeur" value="{{ valform.largeur }}"> 110 <li>Dimensions du graphique&nbsp;: <label>largeur&nbsp;: </label><input type="text" class="data" name="largeur" value="{{ valform.largeur }}">
111 <label>hauteur&nbsp;: </label><input type="text" name="hauteur" value="{{ valform.hauteur }}"></li> 111 <label>hauteur&nbsp;: </label><input type="text" class="data" name="hauteur" value="{{ valform.hauteur }}"></li>
112 <li><label>Légende&nbsp;: <input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}> </label> 112 <li><label>Légende&nbsp;: <input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}> </label>
113<label>Position&nbsp;: <select name="positionlegende"> 113<label>Position&nbsp;: <select name="positionlegende">
114{%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %} 114{%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
@@ -126,6 +126,22 @@
126 {% endfor %} 126 {% endfor %}
127 </select> 127 </select>
128 </li> 128 </li>
129
130 <li>Ajouter des repères sur les courbes. <span class="bouton petit" onclick="ajoute_reperes()">Plus de repères</span>
131 <ul id="ajoutereperecourbe">
132 {% for i in range(valform.liste_reperes | length) %}
133 <li>Âge&nbsp;: <input class="data" type="text" name="repere_age_{{ i }}" value="{{ valform.liste_reperes[i].donnee }}">
134 Texte associé&nbsp;: <input class="texte" type="text" name="repere_texte_{{ i }}" value="{{ valform.liste_reperes[i].texte }}">
135 Tracer&nbsp;: <input type="checkbox" name="repere_trace_{{ i }}" {% if valform.liste_reperes[i].trace %} checked {% endif %}></li>
136 {% endfor %}
137 {% for j in range(valform.liste_reperes | length, valform.nb_reperes_mini) %}
138 <li>Âge&nbsp;: <input class="data" type="text" name="repere_age_{{ j }}" value="">
139 Texte associé&nbsp;: <input class="texte" type="text" name="repere_texte_{{ j }}" value="">
140 Tracer&nbsp;: <input type="checkbox" name="repere_trace_{{ j }}"></li>
141 {% endfor %}
142 </ul>
143
144 </li>
129</ul> 145</ul>
130 146
131 147
@@ -136,7 +152,7 @@
136 152
137<div id="extra"> 153<div id="extra">
138<ul> 154<ul>
139 <li>Calculer le prolongement de la courbe à partir des <input type="text" name="nbextradata" size="4" value="1"> dernières données (mettre 0 pour "toutes").</li> 155 <li>Calculer le prolongement de la courbe à partir des <input type="text" class="data" name="nbextradata" size="4" value="1"> dernières données (mettre 0 pour "toutes").</li>
140 <li><input type="checkbox" name="prolongercourbes">Tracer l'extrapolation sur le graphique.</li> 156 <li><input type="checkbox" name="prolongercourbes">Tracer l'extrapolation sur le graphique.</li>
141 157
142 <li>Calculer <select name="calculextradata_type"> 158 <li>Calculer <select name="calculextradata_type">
@@ -144,10 +160,10 @@
144 {% for val in CONFIG.liste_typedonnees %} 160 {% for val in CONFIG.liste_typedonnees %}
145 <option value="{{val}}">{{val}}</option> 161 <option value="{{val}}">{{val}}</option>
146 {% endfor %} 162 {% endfor %}
147 </select> à l'âge <input type="text" name="calculextradata_age" value="6m"> 163 </select> à l'âge <input type="text" class="data" name="calculextradata_age" value="6m">
148 <input type="checkbox" name="calculextradata_trace"> ... et le voir sur le graphique.</li> 164 <input type="checkbox" name="calculextradata_trace"> ... et le voir sur le graphique.</li>
149 165
150 <li>Calculer l'âge auquel l'enfant aura <input type="text" name="calculextratemps_val"> 166 <li>Calculer l'âge auquel l'enfant aura <input type="text" class="data" name="calculextratemps_val">
151 <select name="calculextratemps_type"> 167 <select name="calculextratemps_type">
152 <option value="">Choisir la donnée</option> 168 <option value="">Choisir la donnée</option>
153 {% for val in CONFIG.liste_typedonnees %} 169 {% for val in CONFIG.liste_typedonnees %}
diff --git a/trace_courbe.py b/trace_courbe.py
index 968ca7b..39ade0e 100644
--- a/trace_courbe.py
+++ b/trace_courbe.py
@@ -25,7 +25,9 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e
25 liste_extracalculs 25 liste_extracalculs
26 26
27 Les enfants en plus sont dans la liste enfants_add. Pour chaque item de la liste, il faut prendre 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""" 28 item[typed] pour avoir accès au nom, ljours, et ldonnees
29
30 """
29 debug("debut de cree_figure. Config : "+str(conf)+". Nombre d'enfants additionnels : "+str(len(enfants_add)),liste_err) 31 debug("debut de cree_figure. Config : "+str(conf)+". Nombre d'enfants additionnels : "+str(len(enfants_add)),liste_err)
30 try: 32 try:
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) 33 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)
@@ -190,7 +192,6 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e
190 else: 192 else:
191 titre+=" (courbe en âge réel, données OMS décalées)" 193 titre+=" (courbe en âge réel, données OMS décalées)"
192 194
193 print("coucou")
194 #### extrapolatios éventuelles 195 #### extrapolatios éventuelles
195 # a-t-on demndé des calculs ? 196 # a-t-on demndé des calculs ?
196 jextrapole = conf["non_sauve"]["prolongercourbes"] == "oui" 197 jextrapole = conf["non_sauve"]["prolongercourbes"] == "oui"
@@ -312,6 +313,23 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e
312 poids_max = poids_max * 1.05 313 poids_max = poids_max * 1.05
313 314
314 315
316 ### Repères additionnels éventuels.
317 #reperes est une liste qui contient des dictionnaires avec "typed" (type de donnée : âge, etc), "donnee" :
318 #la donnée (en jours pour l'âge), et "texte": le texte à mettre sur le repère en question.
319 #Pour tracer des repères verticaux (horizontaux plus tard) sur la courbe.
320 for rep in conf["liste_reperes"]:
321 if rep.get("trace", "") == "oui": # SI on veut tracer
322 agec = u.convertitunite(rep["donnee"], unite, liste_err)
323 # Tracé de la ligne verticale
324 ax.vlines(agec, poids_min, poids_max, linestyles="dashed", color=conf["couleurs"]["cadretxt"])
325 # Tracé éventuel du texte
326 if rep["texte"] != "":
327 ax.text(agec, poids_min, " "+rep["texte"], rotation=90, verticalalignment='bottom', horizontalalignment='right', color=conf["couleurs"]["cadretxt"])
328
329
330
331
332
315 # Grille custom ? 333 # Grille custom ?
316 if conf["non_sauve"]["grilleamelio"] == "oui": 334 if conf["non_sauve"]["grilleamelio"] == "oui":
317 debug("On a choisi la grille plus jolie", liste_err) 335 debug("On a choisi la grille plus jolie", liste_err)