在python

时间:2016-06-01 20:36:51

标签: python graph

我需要根据一组输入文件创建一个图表。由于这些文件可以在单独的迭代期间加载,我需要保存图表,并且能够在从文件重新加载图形信息后添加它。

显而易见的选择似乎是graphviz,但python API似乎不允许加载。 PyDot有一个parse_dot_data文件,也在this answer中引用,但文档不存在,并且没有明确的方法可以“附加”到图表中。然后有networkX似乎有ability to load,尽管在文档中找不到它。最后有graph-tool这是一种过度杀伤,需要比我这个简单工作所需的更多的库和工具。

我确信这一定是一个已经解决的问题,我不愿意“重新发明轮子”并编写数据库/持久层来实现这一目标。

如何在Python中创建一个简单的图形,将其保存在某处并在需要时加载它?

1 个答案:

答案 0 :(得分:2)

NetworkX为读取和写入图形提供了丰富的文件格式。有关详细说明,请参阅Reading and writing graphs。例如,

import networkx as nx

# Create a graph
G = nx.florentine_families_graph()

# Save to a file
filename = 'florentine_families_graph.graphml'
G = nx.write_graphml(G, filename)

# Load from a file
filename = 'florentine_families_graph.graphml'
G = nx.read_graphml(filename)