我的代码好像无法标注多条路径,如何解决?


def main3():
          
           # 建立带权图
             G = nx.Graph()
 
# 向图中添加边,每条边都有一个权值
             G.add_edge('A', 'B', weight=5)
             G.add_edge('A', 'C', weight=3)
             G.add_edge('A', 'D', weight=2)
             G.add_edge('B', 'C', weight=1)
             G.add_edge('B', 'D', weight=2)
             G.add_edge('C', 'D', weight=4)
 
# 查找从点 A 到点 B 的所有路径
             source=nameEntry3.get()
             target=nameEntry4.get()
             all_paths = nx.all_simple_paths(G,source, target)
             
             
 
# 记录路径与权重和
             all_paths_with_weight = {}
             for path in all_paths:
                  weight_sum = 0
                  for i in range(len(path)-1):
                    source = path[i]
                    target = path[i+1]
                    weight = G.get_edge_data(source, target)['weight']
                    weight_sum += weight
                  all_paths_with_weight[str(path)] = weight_sum
    
# 排序
             return sorted(all_paths_with_weight.items(),key = lambda x:x[1],reverse = False)
             fig = plt.figure(figsize=(5, 5))
             canvas = FigureCanvasTkAgg(fig, master=window5)
             canvas.get_tk_widget().grid(row=8, column=11)
        
 
          # 在 Tkinter 用户界面中绘制图
         
             ax = fig.add_subplot(111)
             pos = {'A': (0, 2), 'B': (1, 2), 'C': (0, 1), 'D': (1, 1), 'E': (0, 0), 'F': (1, 0),'G':(2,0),'K':(3,0)} # 使用 FR 算法排列节点
# 使用 NetworkX 绘制无向图
             nx.draw(G,pos=pos,ax=ax, with_labels=True)
 
# 遍历路径上的所有点,在图上标注路径
          # 绘制图像
             edgeList = []
             for i in range(len(all_paths)-1):
                  edgeList.append((all_paths[i], all_paths[i+1]))
                  nx.draw_networkx_edges(G, pos, edgelist=edgeList, edge_color='m', width=4,ax=ax)
             plt.show()
        
        

如何标注两点间的所有路径,我的代码好像无法标注多条路径

nx.draw_networkx_edges
你需要检查一下nx里面关于绘画的模块是怎么定义的
另外你既然已经加载了plt库,建议直接使用plt绘制