Open Flash Chart avec le Python's style !
Posté par fantomas, le 28 février 2008 sous Développement
Récemment, pour les besoins d'un projet dont je parlerais bientôt lors d'un prochain article,
je me suis mis à rechercher une librairie Python me permettant de réaliser rapidement de jolis graphiques statistiques.
Passé les PyChart et autre ChartDirector. Mon choix s'est porté sur Open Flash Chart, une librairie permettant de réaliser des graphiques statistiques grâce à Flash.
Comme son nom le laisse supposer, la librairie est open source, un point primordial 
Un site bien documenté avec des exemples complets, permettant une prise en main rapide et un résultat graphique abouti, m'auront convaincu assez rapidement.
L'avantage de cette librairie est qu'il est techniquement possible de l'interfacer avec tous les languages, car le fichier flash générant le graphique, se charge de récupérer un fichier au format texte, contenant les données du document.
Il suffit donc de générer un simple fichier texte, pour pouvoir afficher un graphique complexe, ce qui est un avantage notable pour la machine qui hébergera la représentation des graphiques. En effet on nous n'avons pas générer d'image, comme les autres librairies, et encore moins à les stocker.
La bonne nouvelle, est qu'il existe déjà des APIs pour différents langages, tel PHP, Perl, mais aussi Python. Génial ! 
La moins bonne nouvelle vient du fait, que cette dite API Python ne fonctionne pas ou plus, et n'est clairement pas maintenue à jours. 
L'autre bonne nouvelle, est que j'ai pris le soin de recoder l'API Python pour Open Flash Chart. 
En me basant sur la documentation et sur le travail de la précédente API écrite par Guenther Harrasser, j'ai corrigé, nettoyé et mis à jour le code. Pour finalement le réécrire complétement...
J'en ai profité pour mailer l'auteur, et lui proposer mon correctif. En l'attente d'une réponse, je me propose pour vous faire partager mon travail.
Nous allons dans cette exemple générer un graphique simple composé d'une ligne et d'une série de barres, la ligne étant placé sur l'axe Y de droite.
[cc lang="python"]
from openflashchart import Graph
# Création du graph et titrage
graph = Graph()
graph.title('My Graph Title', '{font-size:20px}')
# Insertion des barres, de la ligne,
# et des données associées
graph.bar_outline(50, '#005aff', '#666666', 'Bar Stats', 10)
graph.set_data(range(10))
graph.line_hollow(2, 5, '#05a0FF', 'Line Stats', 10)
graph.set_data(range(10, 20))
# Assignation de la ligne sur l'axe Y de droite,
# des libelles en abscisse, et des légende en ordonnée.
graph.attach_to_y_right_axis(2)
graph.set_x_labels(['x_%i' % i for i in range(10)])
graph.set_y_legend('Legend Left', 15, '#ff4a00')
graph.set_y_right_legend('Legend Right', 15, '#4aff00')
# Génération du graphique
stat = graph.render()
[/cc]
Télécharger Open Flash Chart : API Python
Edition du 30 mai 2007 : Une amélioration du code de rendu HTML a été faite, pour gagner en lisibilité et aussi pour facilité la manipulation du DOM.
:
actionscript
développement
flash
openflashchart
python
mercredi 28 mai 2008 a 15:33
quand j'essaye chez moi je tombe sur
&title=My Graph Title,{font-size:20px}&
&x_axis_steps=1&
&y_legend=Legend Left,15,#ff4a00&
&y2_legend=Legend Right,15,#4aff00&
&y_ticks=5,10,5&
&filled_bar=50,#005aff,#666666,Bar Stats,10&
&line_hollow_2=2,#05a0FF,Line Stats,10,5&
&values=0,1,2,3,4,5,6,7,8,9&
&values_2=10,11,12,13,14,15,16,17,18,19&
&y2_lines=2&
&show_y2=true&
&x_labels=x_0,x_1,x_2,x_3,x_4,x_5,x_6,x_7,x_8,x_9&
&y_min=0&
&y_max=20&
graphobject ne devrait pas intervenir qqpart?
mercredi 28 mai 2008 a 16:50
j'ai rien dit
ton api déchire merci!
mercredi 04 juin 2008 a 13:26
Excuse moi, mais j'ai essayé ton code du dessus, il passe bien, mais je ne sais pas ou il génere le fichier flash ? et comment je peux le visualiser ?
Merci
http://nataleeinsurance.blogspot.com
lundi 27 octobre 2008 a 18:10
Good post.