2009-10-25 4 views

Répondre

2

J'ai fait une recherche Google sur "Python graph visualization" et j'ai trouvé quelques trucs. Il y a plusieurs bibliothèques qui ont un comportement «printanier» où le logiciel équilibre un graphique et le rend joli; ils font beaucoup de travail pour vous. Mais ils dessinent des diagrammes graphiques, avec des nœuds et des arêtes, rien de tel qu'un diagramme de Sankey.

Une recherche Google sur "Python sankey" n'a donné aucun résultat utile.

J'ai fait quelques recherches Google sur « vecteur Python graphiques » et a trouvé ce résultat très prometteur:

http://pypi.python.org/pypi/Things

avec des choses, semble-t-vous dessiner des formes de base dans Inkscape (un programme d'édition de vecteur libre) et alors vous écrivez Python pour redimensionner, faire pivoter, etc. les formes pour produire une image ou une animation. Il devrait être possible d'écrire du code Python pour faire ressortir automatiquement les flèches de Sankey de leurs sources, en les retournant, en les baissant, etc.

Voir aussi la discussion StackOverflow de dessiner des diagrammes vectoriels en Python: svg diagrams using python

cette page m'a conduit à: http://cairographics.org/ qui semble très utile.

Le blog que vous avez lié a un affichage sur un article sur la création automatique de diagramme Sankey:

http://www.sankey-diagrams.com/sankey-diagrams-are-directed-weighted-graphs/

http://www.svgopen.org/2003/papers/RenderingGraphs/index.html

Je n'ai pas trouvé une solution clé en main pour vous, mais je l'ai fait trouver des parties qui pourraient potentiellement être utilisées dans une solution. Bonne chance.

7

Apparemment, matplotlib 1.1 peut maintenant faire cela. .

Voici une capture d'écran démontrant ce qu'elle peut faire.

enter image description here

Questions connexes