Bonjour,
Nous utilisons Matplotlib pour la génération de graphique.
Cette librairie s'avère /très/ complète. Elle est /si/ puissante que nous avons
du mal à trouver comment faire un graphe représentant de multiples
courbes avec les spécifications suivantes.
1/ Une abscisse commune à toutes les courbes (le temps, t), avec
précision de
- tmin,
- tmax,
- taille des subdivisions entre tmin et tmax (pas de temps, commun à
toutes les courbes),
- pour chaque subdivision, dessiner des traits verticaux grisés pour
former une grille de lecture en fond.
2/ Pour chaque courbe, différentes unités possibles en ordonnée.
3/ Pour chaque courbe, le choix de positionner la graduation soit
- sur l'ordonnée gauche et à gauche de l'axe, soit
- sur l'ordonnée gauche et à droite de l'axe, soit
- sur l'ordonnée droite et à gauche de l'axe, soit
- sur l'ordonnée droite et à droite de l'axe.
4/ Pour chaque courbe, nous spécifions en entrée
- ymin (valeur minimum à apparaître en graduation y),
- ymax (valeur maximum à apparaître en graduation y),
- son type : courbe -en considérant toutes les variantes possibles-,
histogramme ou constante,
- l'opération d'agrégation des données entre deux pas de temps : les
données sont des résultats de requêtes de nos bases de données et nous
avons besoin de les consolider pour les plots (sum, max, min, moyenne,
nombre),
- sa couleur,
- si elle est représentée tête en bas ou non,
- le pas en ordonnée (sur l'axe y),
- la position de la graduation (cf. 3/)
- si on affiche son ordonnée ou pas (graduation).
5/ Pour chaque courbe, au-delà d'une certaine valeur de t (en général la
date du jour) la courbe /doit/ changer d'aspect (pour indiquer, par
exemple, qu'il s'agit de prévisions),
- sur une courbe «classique», elle ne sera plus pleine, mais en pointillés
par exemple.
Vous trouverez ci-joint une capture d'écran du résultat attendu, sachant
que les données sont de simples données tabulaires.
http://jm406.free.fr/Sie-capture-graph-exemple.png
Nous restons à votre entière disposition et en live si nécessaire pour
préciser au mieux notre problème.
D'avance merci.
--
Web: http://makina-corpus.com
Mail: jean-michel@makina-corpus.com
Jabber: jeanmichel.francois@ezvan.fr
Partager