【发布时间】:2016-06-01 07:24:52
【问题描述】:
我正在 NetworkX Watts-Strogatz 随机生成的图形上运行 Dikjstra 的最短路径算法,我想在绘制图形之前将我发现的路径的边缘与其余边缘的颜色不同。
我的 Dijkstra 算法返回路径中的节点列表,如下所示:
dijkstra(graph, '5', '67')
['67', '62', '59', '56', '3', '99', '5']
如何将这些节点之间的边缘颜色更改为蓝色而不是红色?
请注意,图是随机生成的,所以路径每次都会改变,但它总是会以列表的形式输出路径中的节点。
我最初尝试的方式如下:
for i in range(path.__len__()):
if i != path.__len__()-1:
wsGraph.add_edge(path[i], path[i]+1, color='b')
但这并没有修改边缘,而是添加了看起来像新节点的东西。
【问题讨论】:
-
永远不要将答案添加到问题的正文中。发布新答案并将其标记为已接受。
-
知道了!编辑回来并在下面添加了我的答案。
标签: python algorithm networkx graph-theory dijkstra