[英]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.