如何通过边缘和顶点txt文件创建图形?

时间:2020-09-12 10:02:04

标签: networkx

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()

1 个答案:

答案 0 :(得分:0)

首先,您实际上并没有将节点名传递给G.add_node参数。如果顶点文本文件中的每一行都有该节点的名称,则可以将变量eachline传递给该函数(如果文件的格式不同,则可能必须解析该文件以获取行尾字符,并进行其他解析。

当您读取边缘文本文件时,代码再次不会将边缘数据传递给函数,并且由于要传递边缘信息,因此您需要使用函数G.add_edge()来代替。此函数采用参数“ u_of_edge”和“ v_of_edge”,它们是边缘的两个端点。

最后,如果函数G.add_edge尚未创建,则已经将它们添加到图形中,因此,如果所有顶点在edge文本文件中均具有边,则可以跳过从这些顶点文本文件中读取的操作。