如何使用networkx和matplotlib绘制重量标签?

时间:2019-09-17 00:17:39

标签: python-3.x matplotlib networkx graph-theory

我正在研究图形,因此我尝试使用networkx和matplotlib在python中给定字典绘制图形,这是我的代码:

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
graph = {
    "A":["B","C"],
    "B":["D","E"],
    "C":["E","F"],
    "D":["B","G"],
    "E":["B","C"],
    "F":["C","G"],
    "G":["D","F"]
}
x=10
for vertex, edges in graph.items():
    G.add_node("%s" % vertex)
    x+=2
    for edge in edges:
        G.add_node("%s" % edge)
        G.add_edge("%s" % vertex, "%s" % edge, weight = x)
        print("'%s' it connects with '%s'" % (vertex,edge))
nx.draw(G,with_labels=True)

plt.show()

我已经尝试过功能 draw_networkx_edge_labels ,但是由于动态添加节点,我似乎需要一个我没有的位置,所以我需要一种方法来绘制适合我的边缘标签当前的实现。

1 个答案:

答案 0 :(得分:1)

在添加所有节点之后绘制图形,以便可以计算位置并根据它们使用ViewUtils.resetTextInputErrorsOnTextChanged(mEmailTextInputLayout, mPasswordTextInputLayout);

nx.draw_networkx_edge_labels(...)

enter image description here