From: Denise sur Lya Date: Wed, 30 Jun 2021 10:29:54 +0000 (+0200) Subject: couleur personnalisée pour les courbes X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=commitdiff_plain;h=38b5e10ae817f79fb10b6c4b8655e6d95b2885b8 couleur personnalisée pour les courbes --- diff --git a/app.py b/app.py index a803d90..206af47 100644 --- a/app.py +++ b/app.py @@ -10,6 +10,7 @@ from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas 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 @@ -69,10 +70,10 @@ def courbe_image(ext): #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) 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"] # 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 @@ -112,6 +112,7 @@ DEFAUT["couleurs"]["courbe2"] = "#00FF00" # vert 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 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 @@ "Version 2.4","29/06/2021","

Plus de courbes !

" 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): 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 @@ -514,7 +514,7 @@ def fichier_json_vers_configdonnees(chaine,liste_err): #### 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é) @@ -523,6 +523,7 @@ def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb): 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]) 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 @@
  • Couleur courbe du bas | Couleur courbe du milieu | Couleur courbe du haut
  • -
  • Couleur du fond | Couleur de la grille | Couleur des axes, texte et courbe
  • +
  • Couleur du fond | Couleur de la grille | Couleur des axes et du texte | Couleur de la courbe de l'enfant
  • Symbole pour les points de la courbe : - Symbole : Enlever ce fichier | + Symbole : - Enlever ce fichier
  • + | + Couleur : + {% endfor %}

    Plus d'enfants O_o

    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 ### 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) @@ -169,10 +170,13 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e # 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) @@ -184,7 +188,7 @@ def cree_figure(conf,l_jours,l_poids,typedonnee,liste_extracalculs, liste_err, e 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"