2016-10-24 4 views
1

私は二部グラフを投影し、新しい加重グラフを作成しました。私は、グラフを描画し、エッジの重みを表示したいと思います。投影されたネットワークのエッジの重みを表示する

ここは私の試みです。

import networkx as nx 
import matplotlib.pyplot as plt 
from networkx.algorithms import bipartite 
g=nx.Graph() 
g.add_nodes_from(['s1','s2','s3','s4','s5'],bipartite=0) 
g.add_nodes_from(['t1','t2','t3','t4'],bipartite=1) 
g.add_edges_from([('s1','t1'),('s1','t4'),('s2','t1'),('s2','t2'),('s3','t1'),('s3','t4'),('s4','t3'),('s5','t2'),('s5','t3')]) 
l=bipartite.weighted_projected_graph(g,['s1','s2','s3','s4','s5']) 
nx.draw(l, with_labels=True) 
plt.show() 

ノードのラベルは表示されますが、エッジの重みは表示されません。エッジウェイトはどのように表示できますか?

答えて

0

私は、これはおそらくあなたが望む以上のものを表示しますnx.draw_networkx_edge_labels

import networkx as nx 
import matplotlib.pyplot as plt 
from networkx.algorithms import bipartite 
g=nx.Graph() 
g.add_nodes_from(['s1','s2','s3','s4','s5'],bipartite=0) 
g.add_nodes_from(['t1','t2','t3','t4'],bipartite=1) 
g.add_edges_from([('s1','t1'),('s1','t4'),('s2','t1'),('s2','t2'),('s3','t1'),('s3','t4'),('s4','t3'),('s5','t2'),('s5','t3')]) 
l=bipartite.weighted_projected_graph(g,['s1','s2','s3','s4','s5']) 
pos = nx.spring_layout(l) 
nx.draw(l, pos = pos, with_labels=True) 
nx.draw_networkx_edge_labels(l, pos) 

を含めるようにコードを修正しました。私はそれはエッジが多少恣意的な属性を持つかもしれないケースのために設定されていると思う。あなたが望むのは、posを定義するまですべてを行い、次に:

+0

thanxです。 – simjas

関連する問題