edge : vertex[coordinate]--vertex[coordinate]
如何将顶点和边馈入图形?我自己尝试过,但是有问题。
import string
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph() # 建立一个空的无向图G
with open("HLN-12-1vertices.txt") as node_list:
for eachline in node_list:
G.add_node()
with open("HLN-12-1edges.txt") as edge_list:
for eachline in edge_list:
G.add_node()
print("number of edges:", G.number_of_edges()) # 输出边的数量
nx.draw(G)
plt.show()
答案 0 :(得分:0)
首先,您实际上并没有将节点名传递给G.add_node
参数。如果顶点文本文件中的每一行都有该节点的名称,则可以将变量eachline
传递给该函数(如果文件的格式不同,则可能必须解析该文件以获取行尾字符,并进行其他解析。
当您读取边缘文本文件时,代码再次不会将边缘数据传递给函数,并且由于要传递边缘信息,因此您需要使用函数G.add_edge()
来代替。此函数采用参数“ u_of_edge”和“ v_of_edge”,它们是边缘的两个端点。
最后,如果函数G.add_edge
尚未创建,则已经将它们添加到图形中,因此,如果所有顶点在edge文本文件中均具有边,则可以跳过从这些顶点文本文件中读取的操作。