eWi*_*dII 28 python data-visualization graph graphviz
可视化由python中编码的边连接的节点序列.
寻找一个python库来可视化这样的图形数据.
用python或python绑定编写的库都可以
(我知道Visustin,但寻找替代方案)
dou*_*oug 37
在我看来,Graphviz是最好的选择.
Graphviz是首选的图形渲染/布局库; 它是成熟,稳定,开源,免费的.它不是一个专用流程图或图表包,但其核心用例-即,由节点和边缘的对象的高效和审美渲染,显然涵括流程图附图-特别是因为它的API允许用户设置各种约束上布局以鼓励以各种格式进行渲染 - 例如,您可以要求所有相同级别的节点(来自根的相同数量的父节点)在单个中心对齐的行中进行渲染.
Graphviz不是python库(用C语言编写); 但是有高质量的python绑定可用.
我最熟悉的python-Graphviz库是pygraphviz,非常好.
另外两个是pydot和yapgvb.我至少使用过这两种情况.每个都小于pygraphviz(根据您的使用情况,这可能是一个优势); 此外,既没有记录也没有pygraphviz.
幸运的是,所有这三个python库都是Graphviz上的瘦包装器,因此没有一个隐藏轻量级,优雅的Graphviz语法(点语言).

这是我用来创建下面的小"流程图" 的代码(用graphviz' 点语言表示):
digraph {
node [ fill=cornflowerblue,
fontcolor=white,
shape=diamond,
style=filled];
Step1 [ color=darkgoldenrod2,
fontcolor=navy,
label=start,
shape=box];
Step2;
Step3a [ style=filled,
fillcolor=grey80,
color=grey80,
shape=circle,
fontcolor=navy];
Step1 -> Step2;
Step1 -> Step2a;
Step2a -> Step3a;
Step3;
Step3a -> Step3;
Step3a -> Step2b;
Step2 -> Step2b;
Step2b -> Step3;
End [ shape=rectangle,
color=darkgoldenrod2,
fontcolor=navy];
Step3 -> End [label=193];
}
Run Code Online (Sandbox Code Playgroud)