我试图比较两个图并画出第三个有向图,其中蓝色边表示这些边存在于两个图中,红色边表示前一个图中存在的边在后一个图中不再存在,绿色边表示后一个图中存在的边在前一个图中不存在。 问题: 在附图中,我用黑色标记了节点“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
任何帮助都将不胜感激。谢谢
除了我的评论之外,您可能还想尝试使用graphviz来绘制图形。Networkx有一个接口,可以轻松地将图形转换为graphviz对象。见https://networkx.github.io/documentation/stable/reference/drawing.html#module-networkx.drawing.nx_agraph。边缘没有重叠。在
相关问题 更多 >
编程相关推荐