特定の属性を持つノードのグラフがあり、ノードの外側のノードのラベルとしていくつかの属性を使用して、Python で networkx によってグラフを描画したいと考えています。
この目的を達成するためにコードを書く方法を教えてもらえますか?
コードに「interface_?」を生成するループがあります。ファイアウォール リスト (fwList) からの各入力の属性
for y in fwList:
g.add_node(n, type='Firewall')
print 'Firewall ' + str(n) + ' :'
for x in fwList[n]:
g.node[n]['interface_'+str(i)] = x
print 'Interface '+str(i)+' = '+g.node[n]['interface_'+str(i)]
i+=1
i=1
n+=1
次に、後でノードとエッジを次のように描画します。
pos=nx.spring_layout(g)
nx.draw_networkx_edges(g, pos)
nx.draw_networkx_nodes(g,pos,nodelist=[1,2,3],node_shape='d',node_color='red')
後で他の形状と色のいくつかの新しいノードに拡張します。
単一の属性にラベルを付けるために、以下のコードを試しましたが、うまくいきませんでした
labels=dict((n,d['interface_1']) for n,d in g.nodes(data=True))
そして、ノードからテキストを出すために、私にはわかりません...