gpt4 book ai didi

python networkx - 通过着色标记边缘以绘制图形

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:50 24 4
gpt4 key购买 nike

我正在使用 networkx 来研究图论的实现,我想知道是否有一种方法可以标记给定图中的某些边?例如 - 假设我有一个图 G 并且我找到了从节点 x 到节点 y 的最短路径,我如何标记路径以便在我绘制图形时它会以不同的颜色绘制?

最佳答案

标记边缘可以通过设置一个属性颜色来完成,例如为每条边缘设置你想要的颜色,然后在绘制时使用这些颜色的列表。在 8 个节点的 erdos-renyi 图中,用 蓝色 标记 2 个节点之间的最短路径,例如 0 和 3 可以按如下方式完成:

G = nx.erdos_renyi_graph(8,0.4)
p = nx.shortest_path(G,0,3)
# Set all edge color attribute to black
for e in G.edges():
G[e[0]][e[1]]['color'] = 'black'
# Set color of edges of the shortest path to green
for i in xrange(len(p)-1):
G[p[i]][p[i+1]]['color'] = 'blue'
# Store in a list to use for drawing
edge_color_list = [ G[e[0]][e[1]]['color'] for e in G.edges() ]
nx.draw(G,edge_color = edge_color_list, with_labels = True)
plt.show()

输出图: enter image description here

关于python networkx - 通过着色标记边缘以绘制图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com