2017-04-14 57 views
0

使用networkx,有没有办法制作具有有向边和双向边的多图?面向混合的多图网络x

我不能使用2个方向的边而不是双向的边,因为它们在我的图中意味着不同的东西。 networkx.MultiDiGraph()只允许定向边缘和networkx.MultiGraph()只允许双向边缘。

+1

此时,您不能在网络x图中混合有向和无向边。根据您的问题数据以及您想要使用的算法,可能有一种方法可以通过使用边缘标签来区分边缘类型来解决您的问题。 – Aric

+0

好的,谢谢你的确认。我只想使用'networkx.has_path(Graph,node1,node2)' – pwnsauce

+0

而且是否有可能拥有一个无向多图,并且将一个有向的子图作为它呢? – pwnsauce

回答

2

我的建议是绘制节点,标签,然后从图形中绘制一次边缘两次,并将另一个绘制在无向图顶部的diGraph上,或者将其分割成两组。

nx.draw_networkx_nodes(G) 
nx.draw_networkx_labels(G) 
nx.draw_networkx_edges(G) #directed 
nx.draw_networkx_edges(H) #undirected 

如果失败了,你可以边缘边缘玩弄掩护导演,并放大你想看到的。