繁体   English   中英

Python中有向图networkx中的两种不同颜色的边缘

[英]Two different colour edges in directed graph networkx in python

我正在尝试比较两个图并绘制第三个有向图,其中蓝色边缘表示两个图中都存在这些边缘,红色边缘表示前一个图中存在的边缘在后一个图中不再存在,绿色边缘表示后一图中存在的边在前一图中不存在。 在此处输入图片说明 问题:在附图中,我用黑色标记了节点“ New”和“ Assigned”之间的边缘,该节点由两种颜色(蓝色和绿色)组成,这两种颜色表示“ New”至“ Assigned”之间的边缘两个图中都存在“已分配”。 但是,仅在后面的图中存在“分配”到“新建”之间的边。 有什么办法可以在相同节点之间绘制两个不同的颜色边缘。 这是我用来绘制此图的代码的一部分。

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

任何帮助将非常感激。 谢谢

除了我的评论外,您可能还想尝试使用graphviz绘制图形。 Networkx具有一个界面,可以轻松地将图形转换为graphviz对象。 请参阅https://networkx.github.io/documentation/stable/reference/drawing.html#module-networkx.drawing.nx_agraph 边缘在此处不重叠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM