2
私はNxN
ノードで作られた規則的なグリッドネットワークを持っています。私はそれをプロットすることができますが、私はまた、minimum spanning treeをプロットしたいと思います。これは、「すべての頂点を含み木であるサブグラフ」です。Python:ネットワークの最小スパニングツリーを視覚化する方法は?
これは私がネットワークを作成する方法である:
from __future__ import print_function, division
import numpy
from numpy import *
import networkx as nx
from networkx import *
import matplotlib.pyplot as plt
N=30
G=nx.grid_2d_graph(N,N)
pos = dict((n, n) for n in G.nodes())
labels = dict(((i, j), i + (N-1-j) * N) for i, j in G.nodes())
nx.relabel_nodes(G,labels,False)
inds=labels.keys()
vals=labels.values()
inds.sort()
vals.sort()
pos2=dict(zip(vals,inds))
nx.draw_networkx(G, pos=pos2, with_labels=False, node_size = 15)
これは私が最小スパニングツリーを計算する方法である:
T=nx.minimum_spanning_tree(G)
これはちょうどG
のようなグラフを生成し、とT
のノードと同じノードがG
であり、そのエッジが選択されています。したがって、私はT
をプロットしたいと思いますが、これは私がやったことです:
plt.figure()
nx.draw_networkx(G, pos=pos2, with_labels=False, node_size = 15)
plt.show()
しかし、私は単純に、ネットワークが再びプロットを得ます。私の最小スパニングツリーがプロットされていることを確認するために最後の行をどのように修正できますか?
パスTの代わりにGの第二draw_networkxにはすべきですか? – DaVinci
私は非常にばかな間違いをしました。謝罪します。 – FaCoffee