使用networkx在Python中以graph6格式保存图形

时间:2017-11-05 09:59:03

标签: python graph networkx

我尝试使用graph6networkx格式在Python中保存图表。显而易见的方式似乎不起作用:

import networkx as nx
g = nx.Graph()
g.add_edge('1','2')
nx.write_graph6(g,"anedge.g6")
g1 = nx.read_graph6("anedge.g6")
import matplotlib.pyplot as plt
nx.draw(g1)
plt.savefig("anedge.pdf")

这使得pdf文件显示具有两个孤立顶点而不是两个连接顶点的图形。

2 个答案:

答案 0 :(得分:1)

使用g.add_edge(0, 1)代替g.add_edge('1','2')它应该有效:

import networkx as nx
import matplotlib.pyplot as plt

g = nx.Graph()
g.add_edge(0, 1)

nx.write_graph6(g, 'anedge.g6')
g1 = nx.read_graph6('anedge.g6')

nx.draw(g1)
plt.savefig("anedge.pdf")

答案 1 :(得分:1)

当节点没有从零连续排序时,这实际上暴露了networkx graph6生成器中的错误。错误修复在https://github.com/networkx/networkx/pull/2739