我在python中使用networkx创建了很多图,之后我需要使用同构算法来处理它们。是否有一种方法可以将所有这些图保存在一起以便以后检索,例如为创建列表他们吗?
这是一个示例图:
import networkx as nx
G = nx.Graph()
G.add_node(0, label='H')
G.add_node(1, label='P')
G.add_node(2, label='H')
G.add_edge(0, 1, weight=2)
G.add_edge(0, 2, weight=8)
答案 0 :(得分:2)
您可以使用networkx的保存/加载功能来保存/加载图形,以下是以pickle格式保存图形的示例:
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_node(0, label='H')
G.add_node(1, label='P')
G.add_node(2, label='H')
G.add_edge(0, 1, weight=2)
G.add_edge(0, 2, weight=8)
# save graph
nx.write_gpickle(G, "pathToGraphPickleFile.nx")
# load graph
G2 = nx.read_gpickle("pathToGraphPickleFile.nx")
# display loaded graph
nx.draw(G2)
plt.show()
其他功能:https://networkx.github.io/documentation/stable/reference/readwrite/index.html