如何解决如何通过边缘和顶点txt文件创建图形?
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()
解决方法
首先,您实际上并没有将节点名传递给G.add_node
参数。如果顶点文本文件中的每一行都有该节点的名称,则可以将变量eachline
传递给该函数(如果文件的格式不同,则可能必须解析该文件以获取行尾字符,并进行其他解析。
当您读取边缘文本文件时,代码再次不会将边缘数据传递给函数,并且由于要传递边缘信息,因此您需要使用函数G.add_edge()
来代替。此函数采用参数“ u_of_edge”和“ v_of_edge”,它们是边缘的两个端点。
最后,如果函数G.add_edge
尚未创建,则已经将它们添加到图形中,因此,如果所有顶点在edge文本文件中均具有边,则可以跳过从这些顶点文本文件中读取的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。