from configuration import config_init,CONFIG
from gestion_erreurs import initialise_erreurs, debug, niveau_debug, warning
import gestion_donnees as donnees
+import gestion_couleurs as couleurs
from trace_courbe import cree_figure
import faq as f
#debug("Form 2 : "+str(formulaire_2), liste_err)
# Récupérer sous forme python
conf2, ljours2, listes_donnees2 = donnees.web_vers_python(formulaire_2,liste_err, court=True)
- # Et le symbole
+ # Le symbole et la couleur
symb2 = donnees.gere_symbole(data.get("symbole_donnees_"+str(i)))
-
- enfant2 = donnees.eclate_donnees_additionnelles(conf2, ljours2, listes_donnees2, symb2)
+ coul2 = couleurs.rgb_vers_tuple(data.get("couleur_donnees_"+str(i),""),CONFIG["couleurs"]["cadretxt"],liste_err)
+ enfant2 = donnees.eclate_donnees_additionnelles(conf2, ljours2, listes_donnees2, symb2, coul2)
enfants_add.append(enfant2)
# Liste des symboles autorisés pour les enfants (matplotlib).
# Sous forme "item: description"
-CONFIG["liste_symboles"] = {"o": "●", "^": "▲", "v": "▼", "<": "◀", ">": "▶", "s": "■", "p": "⬟", "P": "➕", "x": "×", "D": "◆" }
+CONFIG["liste_symboles"] = {"o": "●", "^": "▲", "v": "▼", "<": "◀", ">": "▶", "s": "■", "p": "⬟", "P": "➕", "x": "×", "D": "◆", '$\u2665$':"♥" }
# fichiers
DEFAUT["couleurs"]["courbe3"] = "#FF0000" # rouge
DEFAUT["couleurs"]["fond"]= "#FFFFFF" # blanc
DEFAUT["couleurs"]["cadretxt"] = "#000000" # noir
+DEFAUT["couleurs"]["courbeenfant"] = "#000000" # noir
DEFAUT["couleurs"]["grille"] = "#7f7f7f" # gris
DEFAUT["symbole"] = "o" # Symbole par défaut
"Version 2.4","29/06/2021","<p>Plus de courbes !
<ul>
+<li>Pour la courbe, on peut choisir sa couleur et son symbole (demandez-moi des symboles !)</li>
<li>Les données et la configuration sont celles de l'enfant qu'on a saisi en ""principal""</li>
<li>Pour les enfants en plus, il faut déjà avoir le fichier de données déjà généré.</li>
-<li>On peut choisir ses symboles pour la courbe ""principale"" ainsi que les autres.</li>
+<li>On choisit alors une couleur et un symbole pour ces courbes additionnels</li>
</ul>
</p>"
configuration["couleurs"] = {}
# gérer les couleurs
for clecouleur in DEFAUT["couleurs"]:
- coul = rgb_vers_tuple(data.get("couleur_"+clecouleur,""),CONFIG["couleurs"][clecouleur],liste_err)
+ coul = rgb_vers_tuple(data.get("couleur_"+clecouleur,""),DEFAUT["couleurs"].get(clecouleur, ""),liste_err)
configuration["couleurs"][clecouleur] = coul
# symbole
#### Pour l'insertion d'une 2e (ou plus) courbe sur le graphique, ue fonction qui sépare tout ça
-def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb):
+def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb, couleur):
""" conf est la config (on ne garde que le nom) pour un enfant additionnel,
ljours et ldonnees les dictionnaires de listes contenant les données.
symb est le symbole choisi pour cette courbe additionnelle (déjà vérifié)
retour = {}
conf["symbole"] = symb # On ajoute le symbole additionnel
+ conf["couleurcourbe"] = couleur # la couleur
for typed in CONFIG["liste_typedonnees"]:
retour[typed] = (conf, ljours[typed], ldonnees[typed])
</li>
<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>
- <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>
+ <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>
<li>Symbole pour les points de la courbe :
<select name="symbole">
{% for symb in CONFIG.liste_symboles %}
<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>
<ul>
{% for numero_enfant in (2, 3, 4, 5, 6, 7, 8, 9, 10) %}
- <li {% if numero_enfant>4 %} class="enfants_cache_def"{% endif %}><input type="file" name="fichier_donnees_{{ numero_enfant }}" id="fichier_donnees_{{ numero_enfant }}">
- Symbole :<select name="symbole_donnees_{{ numero_enfant }}">
+ <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> |
+ Symbole : <select name="symbole_donnees_{{ numero_enfant }}">
{% for symb in CONFIG.liste_symboles %}
<option value="{{ symb }}" {% if numero_enfant == loop.index %} selected{% endif %}>{{ CONFIG.liste_symboles[symb] | safe}}</option>
{% endfor %}
- </select>
- <span class="bouton petit" onclick="vide_champ('fichier_donnees_{{ numero_enfant }}')">Enlever ce fichier</span></li>
+ </select> |
+ Couleur : <input type="color" name="couleur_donnees_{{ numero_enfant }}" value="{{ valform.couleurs.cadretxt }}">
+ </li>
{% endfor %}
</ul>
<p class="bouton" onclick="revele_enfants()" id="reveleenfants">Plus d'enfants O_o</p>
### Tracé pour de bon
if l_jours != []:
- ax.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["cadretxt"],marker=conf["symbole"])
+ print(conf["symbole"])
+ ax.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["courbeenfant"],marker=conf["symbole"])
debug("Tracé de la courbe enfant, avec les jours "+str(l_jours_conv),liste_err)
# Ajouter le nom de cet enfant-là
listenoms.append(conf_add["nom"])
lj_conv = u.convertit_tableau(lj,unite,liste_err)
- ax.plot(lj_conv, ld, label=conf_add["nom"], color=conf["couleurs"]["cadretxt"],marker=conf_add["symbole"])
+ debug("Tracé de la courbe additionnelle de "+conf_add["nom"]+" config : "+str(conf_add), liste_err)
+ ax.plot(lj_conv, ld, label=conf_add["nom"], color=conf_add["couleurcourbe"],marker=conf_add["symbole"])
+ print("bla")
if conf["sexe"] != conf_add["sexe"]:
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)
+
# Si y'a un nom on met "courbe de machin"
if listenoms != []:
titre += " de " +", ".join(listenoms)
else:
titre+=" (courbe en âge réel, données OMS décalées)"
-
+ print("coucou")
#### extrapolatios éventuelles
# a-t-on demndé des calculs ?
jextrapole = conf["non_sauve"]["prolongercourbes"] == "oui"