使用Networkx to_agraph()绘制图形

时间:2011-10-24 20:17:02

标签: python networkx

我有一个networkx有向图对象。我可以使用to_agraph在文件中绘制图形。但我想在内存中绘制图形,然后我可以将其保存在数据库表中,而不必将其写入文件。有办法吗?

以下是我用来将图表绘制到文件中的代码。

import networkx as nx
g = nx.DiGraph()
g.add_nodes_from(MyNodes)
g.add_add_edges_from(MyEdges)
grph=nx.to_agraph(g)
s=grph.string()
grph.layout(prog='dot')
grph.draw('test_graph.gif')

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您没有指定文件,您将获得包含图像数据的字符串。 e.g。

In [1]: import networkx as nx

In [2]: G=nx.path_graph(4)

In [3]: A=nx.to_agraph(G)

In [4]: A.layout(prog='dot')

In [5]: png=A.draw(format='png')

In [6]: png[0:10]
Out[6]: '\x89PNG\r\n\x1a\n\x00\x00'