有向图网络中两种不同颜色的边

2024-09-28 01:27:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图比较两个图并画出第三个有向图,其中蓝色边表示这些边存在于两个图中,红色边表示前一个图中存在的边在后一个图中不再存在,绿色边表示后一个图中存在的边在前一个图中不存在。 enter image description here 问题: 在附图中,我用黑色标记了节点“New”和“Assigned”之间的边缘,它由两种颜色(蓝色和绿色)组成,这两种颜色组成,这意味着“New”到“Assigned”之间的边在两个图中都存在。然而,“Assigned”到“New”之间的边只存在于后一个图中。有什么方法可以在相同的节点之间画出两个不同颜色的边吗。这是我用来画这张图的部分代码。在

def multi_draw_circle(list1):

outerloop = 0

while(outerloop < len(list1)):

    for item in list1[outerloop][:-1]:

        colo = list1[outerloop][-1]
        G.add_edge(*item,color = colo)  

    outerloop = outerloop + 1

edges = G.edges()
colors = [G[u][v]['color'] for u,v in edges]
pos = nx.circular_layout(G)    
nx.draw(G, pos, with_labels = True, edge_color = colors)  

plt.show()

return

任何帮助都将不胜感激。谢谢


Tags: innewfor节点颜色itemcolor蓝色

热门问题