以下多重图曲线正确地使用的graphviz NEATO以生成PNG(如图(即平行的边缘不重叠) 此答案 )
import networkx as nx
nx.MultiGraph ([(1,2),(1,2),(1,2),(3,1),(3,2)])
nx.write_dot(Gm,'multi.dot')
!neato -T png multi.dot > multi.png
然而,使用Networkx的绘制函数不会做的伎俩
nx.draw_graphviz(Gm,prog='neato')
是否有可能避免重叠使用从Networkx draw方法的边缘?
谢谢
不幸的是没有。 这在技术上是可以做到的,但到目前为止,没有人写的代码。
嗯,我知道它可能不是你要找的是什么,但我面对的,我想有向图,其中根据方向不同重量的两个节点之间的边缘了(无论是进入或离开一个类似的问题节点)和工作围绕我所做的是我用不同的颜色为每个边缘,降低不透明度为他们中的一个,它会显示,即使它们重叠。 我只需要我的两个节点之间的两条边所以它的伎俩我。
G = nx.DiGraph()
G.add_nodes_from([0,1])
pos = nx.circular_layout(G)
nx.draw_networkx_nodes(G, pos, node_color = 'r', node_size = 100, alpha = 1)
nx.draw_networkx_edges(G, pos, edgelist = [(0,1)], width = 2, alpha = 0.5, edge_color='b')
nx.draw_networkx_edges(G, pos, edgelist= [(1,0)], width = 1, alpha = 1)
plt.axis('off')
plt.show()
在这里输入图像描述