我想使用networkx&matplotlib.pyplot绘制具有负权重的有向图。
这是我的方法:
def show(self):
# self._g is object of nx.DiGraph()
pos = nx.spring_layout(self._g)
nx.draw_networkx_nodes(self._g, pos, node_size=500)
nx.draw_networkx_edges(self._g, pos, width=2.0, arrowsize=20)
nx.draw_networkx_edge_labels(self._g, pos, font_size=8)
nx.draw_networkx_labels(self._g, pos)
plt.axis('off')
plt.show()
它看起来像这样(变成直线或难以描述的东西):
没有负重量的边缘:
我知道还有其他布局,但它们看起来并不好。有没有办法在networkx中绘制带有负边缘的漂亮有向图