【发布时间】:2017-01-26 22:58:24
【问题描述】:
使用使用 GraphViz 创建的有向图,我怎样才能找到假设 'A' 和 'H' 之间的最短路径? 我知道 Dijkstra 算法,我知道 GraphViz 提供了一个允许使用它的工具,但我不确定它是否存在于 python 库中。
我还想更改作为最短路径一部分的节点和边的前景色。 (..蓝色:p)
from graphviz import Digraph
f = Digraph('Test', filename='fsm.gv')
f.body.extend(['rankdir=LR', 'size="8,5"'])
f.edge('A', 'C')
f.edge('A', 'B')
f.edge('B', 'D')
f.edge('C', 'F')
f.edge('C', 'E')
f.edge('C', 'I')
f.edge('E', 'G')
f.edge('F', 'E')
f.edge('G', 'H')
f.edge('G', 'E')
f.edge('H', 'F')
f.edge('H', 'E')
f.view()
【问题讨论】:
-
搜索我不find any reference 到“Dijkstra”的文档,所以它似乎不存在于库中。这能回答你的问题吗?
-
@RadLexus 一半?如果这里有人已经用 Python 中的 GraphViz 编写了 Dijkstra 算法,我很想知道他是如何做到的