2017-04-14 40 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 

如果失敗了,你可以邊緣邊緣玩弄掩護導演,並放大你想看到的。