Python中的Sankey图

naz*_*zca 12 python diagram visualization graph sankey-diagram

是否有用于生成Sankey图的Python库?

我已经看过这个Sankey图应用程序和库的列表,但它们都没有在Python中.

sav*_*enr 7

显然matplotlib 1.1现在可以做到这一点.代码和示例输出在这里.

下面是一个屏幕截图,展示了它的功能.

在此输入图像描述


ste*_*eha 2

我在 Google 上搜索“Python 图形可视化”并找到了一些东西。有几个库具有“弹簧”行为,软件可以平衡图形并使其变得漂亮;他们为你做了很多工作。但他们绘制的图表带有节点和边,与桑基图完全不同。

Google 搜索“Python sankey”没有产生任何有用的结果。

我在 Google 上搜索了一些“Python 矢量图形”,发现了这个非常有希望的结果:

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

对于 Things,显然您可以在 Inkscape(一个免费的矢量编辑程序)中绘制基本形状,然后编写 Python 来缩放、旋转等形状以生成图像或动画。应该可以编写 Python 代码来自动使桑基箭头从其源头弹开,向上、向下等等。

另请参阅 StackOverflow 关于用 Python 绘制矢量图的讨论:使用 python 绘制 svg 图表

该页面引导我到:http://cairgraphics.org/看起来非常有用。

您链接的博客有一篇关于自动桑基图创建的文章的帖子:

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

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

我没有为您找到交钥匙解决方案,但我确实找到了一些可能在解决方案中使用的部件。祝你好运。