是否有用于生成桑基图的 Python 库?
我已经看过这个Sankey 图表应用程序和库列表,但它们都不是 Python 中的。
是否有用于生成桑基图的 Python 库?
我已经看过这个Sankey 图表应用程序和库列表,但它们都不是 Python 中的。
我在“Python 图形可视化”上进行了谷歌搜索,发现了一些东西。有几个库具有“弹簧”行为,软件可以平衡图形并使其漂亮;他们为你做了很多工作。但是他们绘制带有节点和边的图表,与桑基图完全不同。
谷歌搜索“Python sankey”没有产生有用的结果。
我在“Python 矢量图形”上做了一些谷歌搜索,发现了这个非常有希望的结果:
http://pypi.python.org/pypi/Things
使用 Things,显然您在 Inkscape(一个免费的矢量编辑程序)中绘制基本形状,然后您编写 Python 来缩放、旋转等形状以生成图像或动画。应该可以编写 Python 代码来自动使 Sankey 箭头从它们的源头弹出,向上、向下等等。
另请参阅 StackOverflow 关于在 Python 中绘制矢量图的讨论:svg图表使用python
该页面使我:http://cairographics.org/看起来非常有用。
您链接的博客有一篇关于自动创建桑基图的文章:
http://www.sankey-diagrams.com/sankey-diagrams-are-directed-weighted-graphs/
http://www.svgopen.org/2003/papers/RenderingGraphs/index.html
我没有为您找到交钥匙解决方案,但我确实找到了一些可能用于解决方案的部件。祝你好运。
在我的研究小组中,我们在Jupyter notebooks中使用 Python 中的 Sankey 图,使用开源项目(注意:我是这些项目的开发人员)在输出中嵌入基于 D3/SVG 的 Sankey。
这两者都基于 d3 库d3-sankey-diagram,它为标准 d3 sankey 插件添加了一些功能(循环、多种流类型、对布局的更多控制)。
您可以使用 plotly dash 中的 sankey 图。 https://plot.ly/python/sankey-diagram/