diff options
-rw-r--r-- | app.py | 7 | ||||
-rw-r--r-- | configuration.py | 3 | ||||
-rw-r--r-- | data/changelog_data.txt | 3 | ||||
-rw-r--r-- | gestion_donnees.py | 5 | ||||
-rw-r--r-- | templates/index.html | 11 | ||||
-rw-r--r-- | trace_courbe.py | 10 |
6 files changed, 24 insertions, 15 deletions
@@ -10,6 +10,7 @@ from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas | |||
10 | from configuration import config_init,CONFIG | 10 | from configuration import config_init,CONFIG |
11 | from gestion_erreurs import initialise_erreurs, debug, niveau_debug, warning | 11 | from gestion_erreurs import initialise_erreurs, debug, niveau_debug, warning |
12 | import gestion_donnees as donnees | 12 | import gestion_donnees as donnees |
13 | import gestion_couleurs as couleurs | ||
13 | from trace_courbe import cree_figure | 14 | from trace_courbe import cree_figure |
14 | import faq as f | 15 | import faq as f |
15 | 16 | ||
@@ -69,10 +70,10 @@ def courbe_image(ext): | |||
69 | #debug("Form 2 : "+str(formulaire_2), liste_err) | 70 | #debug("Form 2 : "+str(formulaire_2), liste_err) |
70 | # Récupérer sous forme python | 71 | # Récupérer sous forme python |
71 | conf2, ljours2, listes_donnees2 = donnees.web_vers_python(formulaire_2,liste_err, court=True) | 72 | conf2, ljours2, listes_donnees2 = donnees.web_vers_python(formulaire_2,liste_err, court=True) |
72 | # Et le symbole | 73 | # Le symbole et la couleur |
73 | symb2 = donnees.gere_symbole(data.get("symbole_donnees_"+str(i))) | 74 | symb2 = donnees.gere_symbole(data.get("symbole_donnees_"+str(i))) |
74 | 75 | coul2 = couleurs.rgb_vers_tuple(data.get("couleur_donnees_"+str(i),""),CONFIG["couleurs"]["cadretxt"],liste_err) | |
75 | enfant2 = donnees.eclate_donnees_additionnelles(conf2, ljours2, listes_donnees2, symb2) | 76 | enfant2 = donnees.eclate_donnees_additionnelles(conf2, ljours2, listes_donnees2, symb2, coul2) |
76 | enfants_add.append(enfant2) | 77 | enfants_add.append(enfant2) |
77 | 78 | ||
78 | 79 | ||
diff --git a/configuration.py b/configuration.py index 75088fe..fc573ba 100644 --- a/configuration.py +++ b/configuration.py | |||
@@ -16,7 +16,7 @@ CONFIG["extradata"] = ["calculextradata", "calculextratemps"] | |||
16 | 16 | ||
17 | # Liste des symboles autorisés pour les enfants (matplotlib). | 17 | # Liste des symboles autorisés pour les enfants (matplotlib). |
18 | # Sous forme "item: description" | 18 | # Sous forme "item: description" |
19 | CONFIG["liste_symboles"] = {"o": "●", "^": "▲", "v": "▼", "<": "◀", ">": "▶", "s": "■", "p": "⬟", "P": "➕", "x": "×", "D": "◆" } | 19 | CONFIG["liste_symboles"] = {"o": "●", "^": "▲", "v": "▼", "<": "◀", ">": "▶", "s": "■", "p": "⬟", "P": "➕", "x": "×", "D": "◆", '$\u2665$':"♥" } |
20 | 20 | ||
21 | 21 | ||
22 | # fichiers | 22 | # fichiers |
@@ -112,6 +112,7 @@ DEFAUT["couleurs"]["courbe2"] = "#00FF00" # vert | |||
112 | DEFAUT["couleurs"]["courbe3"] = "#FF0000" # rouge | 112 | DEFAUT["couleurs"]["courbe3"] = "#FF0000" # rouge |
113 | DEFAUT["couleurs"]["fond"]= "#FFFFFF" # blanc | 113 | DEFAUT["couleurs"]["fond"]= "#FFFFFF" # blanc |
114 | DEFAUT["couleurs"]["cadretxt"] = "#000000" # noir | 114 | DEFAUT["couleurs"]["cadretxt"] = "#000000" # noir |
115 | DEFAUT["couleurs"]["courbeenfant"] = "#000000" # noir | ||
115 | DEFAUT["couleurs"]["grille"] = "#7f7f7f" # gris | 116 | DEFAUT["couleurs"]["grille"] = "#7f7f7f" # gris |
116 | 117 | ||
117 | DEFAUT["symbole"] = "o" # Symbole par défaut | 118 | DEFAUT["symbole"] = "o" # Symbole par défaut |
diff --git a/data/changelog_data.txt b/data/changelog_data.txt index 5726bce..5c50ff7 100644 --- a/data/changelog_data.txt +++ b/data/changelog_data.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | "Version 2.4","29/06/2021","<p>Plus de courbes ! | 1 | "Version 2.4","29/06/2021","<p>Plus de courbes ! |
2 | <ul> | 2 | <ul> |
3 | <li>Pour la courbe, on peut choisir sa couleur et son symbole (demandez-moi des symboles !)</li> | ||
3 | <li>Les données et la configuration sont celles de l'enfant qu'on a saisi en ""principal""</li> | 4 | <li>Les données et la configuration sont celles de l'enfant qu'on a saisi en ""principal""</li> |
4 | <li>Pour les enfants en plus, il faut déjà avoir le fichier de données déjà généré.</li> | 5 | <li>Pour les enfants en plus, il faut déjà avoir le fichier de données déjà généré.</li> |
5 | <li>On peut choisir ses symboles pour la courbe ""principale"" ainsi que les autres.</li> | 6 | <li>On choisit alors une couleur et un symbole pour ces courbes additionnels</li> |
6 | </ul> | 7 | </ul> |
7 | </p>" | 8 | </p>" |
8 | 9 | ||
diff --git a/gestion_donnees.py b/gestion_donnees.py index 8fee99c..5876c5a 100644 --- a/gestion_donnees.py +++ b/gestion_donnees.py | |||
@@ -322,7 +322,7 @@ def gere_configuration(data,liste_err, court=False): | |||
322 | configuration["couleurs"] = {} | 322 | configuration["couleurs"] = {} |
323 | # gérer les couleurs | 323 | # gérer les couleurs |
324 | for clecouleur in DEFAUT["couleurs"]: | 324 | for clecouleur in DEFAUT["couleurs"]: |
325 | coul = rgb_vers_tuple(data.get("couleur_"+clecouleur,""),CONFIG["couleurs"][clecouleur],liste_err) | 325 | coul = rgb_vers_tuple(data.get("couleur_"+clecouleur,""),DEFAUT["couleurs"].get(clecouleur, ""),liste_err) |
326 | configuration["couleurs"][clecouleur] = coul | 326 | configuration["couleurs"][clecouleur] = coul |
327 | 327 | ||
328 | # symbole | 328 | # symbole |
@@ -514,7 +514,7 @@ def fichier_json_vers_configdonnees(chaine,liste_err): | |||
514 | 514 | ||
515 | 515 | ||
516 | #### Pour l'insertion d'une 2e (ou plus) courbe sur le graphique, ue fonction qui sépare tout ça | 516 | #### Pour l'insertion d'une 2e (ou plus) courbe sur le graphique, ue fonction qui sépare tout ça |
517 | def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb): | 517 | def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb, couleur): |
518 | """ conf est la config (on ne garde que le nom) pour un enfant additionnel, | 518 | """ conf est la config (on ne garde que le nom) pour un enfant additionnel, |
519 | ljours et ldonnees les dictionnaires de listes contenant les données. | 519 | ljours et ldonnees les dictionnaires de listes contenant les données. |
520 | symb est le symbole choisi pour cette courbe additionnelle (déjà vérifié) | 520 | symb est le symbole choisi pour cette courbe additionnelle (déjà vérifié) |
@@ -523,6 +523,7 @@ def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb): | |||
523 | 523 | ||
524 | retour = {} | 524 | retour = {} |
525 | conf["symbole"] = symb # On ajoute le symbole additionnel | 525 | conf["symbole"] = symb # On ajoute le symbole additionnel |
526 | conf["couleurcourbe"] = couleur # la couleur | ||
526 | for typed in CONFIG["liste_typedonnees"]: | 527 | for typed in CONFIG["liste_typedonnees"]: |
527 | retour[typed] = (conf, ljours[typed], ldonnees[typed]) | 528 | retour[typed] = (conf, ljours[typed], ldonnees[typed]) |
528 | 529 | ||
diff --git a/templates/index.html b/templates/index.html index 65754a5..be2ab48 100644 --- a/templates/index.html +++ b/templates/index.html | |||
@@ -107,7 +107,7 @@ | |||
107 | </li> | 107 | </li> |
108 | 108 | ||
109 | <li>Couleur courbe du bas <input type="color" name="couleur_courbe1" value="{{ valform.couleurs.courbe1 }}"> | Couleur courbe du milieu <input type="color" name="couleur_courbe2" value="{{ valform.couleurs.courbe2 }}"> | Couleur courbe du haut <input type="color" name="couleur_courbe3" value="{{ valform.couleurs.courbe3 }}"> </li> | 109 | <li>Couleur courbe du bas <input type="color" name="couleur_courbe1" value="{{ valform.couleurs.courbe1 }}"> | Couleur courbe du milieu <input type="color" name="couleur_courbe2" value="{{ valform.couleurs.courbe2 }}"> | Couleur courbe du haut <input type="color" name="couleur_courbe3" value="{{ valform.couleurs.courbe3 }}"> </li> |
110 | <li>Couleur du fond <input type="color" name="couleur_fond" value="{{ valform.couleurs.fond }}"> | Couleur de la grille <input type="color" name="couleur_grille" value="{{ valform.couleurs.grille }}"> | Couleur des axes, texte et courbe <input type="color" name="couleur_cadretxt" value="{{ valform.couleurs.cadretxt }}"></li> | 110 | <li>Couleur du fond <input type="color" name="couleur_fond" value="{{ valform.couleurs.fond }}"> | Couleur de la grille <input type="color" name="couleur_grille" value="{{ valform.couleurs.grille }}"> | Couleur des axes et du texte <input type="color" name="couleur_cadretxt" value="{{ valform.couleurs.cadretxt }}"> | Couleur de la courbe de l'enfant <input type="color" name="couleur_courbeenfant" value="{{ valform.couleurs.courbeenfant }}"></li> |
111 | <li>Symbole pour les points de la courbe : | 111 | <li>Symbole pour les points de la courbe : |
112 | <select name="symbole"> | 112 | <select name="symbole"> |
113 | {% for symb in CONFIG.liste_symboles %} | 113 | {% for symb in CONFIG.liste_symboles %} |
@@ -156,13 +156,14 @@ | |||
156 | <p>Si vous souhaitez tracer sur le même graphique les courbes de différents enfants, c'est ici. Il faut importer le fichier de données additionnel de l'autre enfant (ou des autres enfants). Seul le nom de l'enfant et ses données seront utilisés, les autres paramètres (courbe de référence suivant le sexe, maximum du graphique, ...) seront ceux de l'enfant « principal ».</p> | 156 | <p>Si vous souhaitez tracer sur le même graphique les courbes de différents enfants, c'est ici. Il faut importer le fichier de données additionnel de l'autre enfant (ou des autres enfants). Seul le nom de l'enfant et ses données seront utilisés, les autres paramètres (courbe de référence suivant le sexe, maximum du graphique, ...) seront ceux de l'enfant « principal ».</p> |
157 | <ul> | 157 | <ul> |
158 | {% for numero_enfant in (2, 3, 4, 5, 6, 7, 8, 9, 10) %} | 158 | {% for numero_enfant in (2, 3, 4, 5, 6, 7, 8, 9, 10) %} |
159 | <li {% if numero_enfant>4 %} class="enfants_cache_def"{% endif %}><input type="file" name="fichier_donnees_{{ numero_enfant }}" id="fichier_donnees_{{ numero_enfant }}"> | 159 | <li {% if numero_enfant>4 %} class="enfants_cache_def"{% endif %}><input type="file" name="fichier_donnees_{{ numero_enfant }}" id="fichier_donnees_{{ numero_enfant }}"> <span class="bouton petit" onclick="vide_champ('fichier_donnees_{{ numero_enfant }}')">Enlever ce fichier</span> | |
160 | Symbole :<select name="symbole_donnees_{{ numero_enfant }}"> | 160 | Symbole : <select name="symbole_donnees_{{ numero_enfant }}"> |
161 | {% for symb in CONFIG.liste_symboles %} | 161 | {% for symb in CONFIG.liste_symboles %} |
162 | <option value="{{ symb }}" {% if numero_enfant == loop.index %} selected{% endif %}>{{ CONFIG.liste_symboles[symb] | safe}}</option> | 162 | <option value="{{ symb }}" {% if numero_enfant == loop.index %} selected{% endif %}>{{ CONFIG.liste_symboles[symb] | safe}}</option> |
163 | {% endfor %} | 163 | {% endfor %} |
164 | </select> | 164 | </select> | |
165 | <span class="bouton petit" onclick="vide_champ('fichier_donnees_{{ numero_enfant }}')">Enlever ce fichier</span></li> | 165 | Couleur : <input type="color" name="couleur_donnees_{{ numero_enfant }}" value="{{ valform.couleurs.cadretxt }}"> |
166 | </li> | ||
166 | {% endfor %} | 167 | {% endfor %} |
167 | </ul> | 168 | </ul> |
168 | <p class="bouton" onclick="revele_enfants()" id="reveleenfants">Plus d'enfants O_o</p> | 169 | <p class="bouton" onclick="revele_enfants()" id="reveleenfants">Plus d'enfants O_o</p> |
diff --git a/trace_courbe.py b/trace_courbe.py index 1188fc4..75382de 100644 --- a/trace_courbe.py +++ b/trace_courbe.py | |||
@@ -155,7 +155,8 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e | |||
155 | 155 | ||
156 | ### Tracé pour de bon | 156 | ### Tracé pour de bon |
157 | if l_jours != []: | 157 | if l_jours != []: |
158 | ax.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["cadretxt"],marker=conf["symbole"]) | 158 | print(conf["symbole"]) |
159 | ax.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["courbeenfant"],marker=conf["symbole"]) | ||
159 | debug("Tracé de la courbe enfant, avec les jours "+str(l_jours_conv),liste_err) | 160 | debug("Tracé de la courbe enfant, avec les jours "+str(l_jours_conv),liste_err) |
160 | 161 | ||
161 | 162 | ||
@@ -169,10 +170,13 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e | |||
169 | # Ajouter le nom de cet enfant-là | 170 | # Ajouter le nom de cet enfant-là |
170 | listenoms.append(conf_add["nom"]) | 171 | listenoms.append(conf_add["nom"]) |
171 | lj_conv = u.convertit_tableau(lj,unite,liste_err) | 172 | 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 | debug("Tracé de la courbe additionnelle de "+conf_add["nom"]+" config : "+str(conf_add), liste_err) |
174 | ax.plot(lj_conv, ld, label=conf_add["nom"], color=conf_add["couleurcourbe"],marker=conf_add["symbole"]) | ||
175 | print("bla") | ||
173 | if conf["sexe"] != conf_add["sexe"]: | 176 | 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) | 177 | 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 | 178 | ||
179 | |||
176 | # Si y'a un nom on met "courbe de machin" | 180 | # Si y'a un nom on met "courbe de machin" |
177 | if listenoms != []: | 181 | if listenoms != []: |
178 | titre += " de " +", ".join(listenoms) | 182 | titre += " de " +", ".join(listenoms) |
@@ -184,7 +188,7 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e | |||
184 | else: | 188 | else: |
185 | titre+=" (courbe en âge réel, données OMS décalées)" | 189 | titre+=" (courbe en âge réel, données OMS décalées)" |
186 | 190 | ||
187 | 191 | print("coucou") | |
188 | #### extrapolatios éventuelles | 192 | #### extrapolatios éventuelles |
189 | # a-t-on demndé des calculs ? | 193 | # a-t-on demndé des calculs ? |
190 | jextrapole = conf["non_sauve"]["prolongercourbes"] == "oui" | 194 | jextrapole = conf["non_sauve"]["prolongercourbes"] == "oui" |