python中的图形渲染(流程图可视化)[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的图形渲染(流程图可视化)[关闭]相关的知识,希望对你有一定的参考价值。
可视化由python中编码的边连接的节点序列。
寻找一个python库来可视化这样的图形数据。
用python或python绑定编写的库都可以
(我知道Visustin,但寻找替代方案)
在我看来,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];
}
像道格一样,我会建议使用Graphviz。
我还想提一下,您也可以直接在非常简单的dot language中编写图形(然后可以使用Graphviz或其他工具绘制它们);这是使用pydot的一种更轻量级的替代方法,不依赖于任何模块上的代码。
gprof2dot.py
可以自动分析和可视化程序中的执行流程。它可以在ActiveState Code上找到reciple 578138。请注意程序末尾的批处理文件。
以上是关于python中的图形渲染(流程图可视化)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章