私はNetworkxを初めて使用します。関数によって生成されたレイアウト位置をインポートしようとしていrandom_layout()
ます。私はそれを進める方法がわかりません。
レイアウト位置を生成するコード:
G = nx.random_geometric_graph(10, 0.5)
pos = nx.random_layout(G)
nx.set_node_attributes(G, 'pos', pos)
f = open("graphLayout.txt", 'wb')
f.write("%s" % pos)
f.close()
print pos
filename = "ipRandomGrid.txt"
fh = open(filename, 'wb')
nx.write_adjlist(G, fh)
#nx.write_graphml(G, sys.stdout)
nx.draw(G)
plt.show()
fh.close()
ファイル: ipRandomGrid.txt
# GMT Tue Dec 06 04:28:27 2011
# Random Geometric Graph
0 1 3 4 6 8 9
1 3 4 6 8 9
2 4 7
3 8 6
4 5 6 7 8
5 8 9 6 7
6 7 8 9
7 9
8 9
9
ノードadjlist
とレイアウトの両方をファイルに保存しています。今、同じレイアウトで他のファイルからグラフを生成したいと考えていadjlist
ます。以下のコードで生成してみました。ここで何が間違っているのかを理解するのを手伝ってくれる人はいますか。
インポート中のコード: 疑似コード
G = nx.Graph()
G = nx.read_adjlist("ipRandomGrid.txt")
# load POS value from file
nx.draw(G)
nx.draw_networkx_nodes(G, pos, nodelist=['1','2'], node_color='b')
plt.show()