出现此类型的错误,一般是描绘的节点与坐标没映射成功,即节点个数与坐标个数不匹配。
def draw_graph(graph, label, num):
nodes = graph.nodes() # 返回所有的结点(为一个list)
edges = graph.edges() # 返回所有边的信息(为一个tuple)
# print(nodes, edges)
num_coordinates.pop(-1)v_nodes = np.array(num_coordinates)
v_pos = dict(zip(nodes, v_nodes))
nx.draw_networkx_nodes(graph, v_pos, node_size=50) # 此行报错
# 报错
raise nx.NetworkXError('Node %s has no position.'%e)
networkx.exception.NetworkXError: Node '1' has no position.
最后发现,是因为是v_pos当中节点与坐标未映射成功(节点与坐标个数不相同)