python
1df_tr.head()
||F1|F2|F3|F4|
|---|---|---|---|
|工場|||||
|W1|15|15|0|5|
|W2|5|0|30|5|
|W3|10|15|2|15|
python
1df_pos.head()
||W1|W2|W3|F1|F2|F3|F4|
|---|--
|0|0|0|0|4.0|4.0|4.0|4.0|
|1|1|2|3|0.5|1.5|2.5|3.5|
python
1#グラフィックオブジェクトの作成 2G = nx.Graph() 3 4#頂点の設定 5for i in range(len(df_pos.columns)): 6 G.add_node(df_pos.columns[i]) 7 8#辺の設定&エッジの重みのリスト化 9num_pre = 0 10edge_weights = [] 11size = 0.1 12for i in range(len(df_pos.columns)): #i=[0,1,2,3,4,5,6,] 13 for j in range(len(df_pos.columns)): #j=[0,1,2,3,4,5,6] 14 if not(i==j): 15 #辺の追加 16 G.add_edge(df_pos.columns[i],df_pos.columns[j]) 17 #エッジの重みの追加 18 if num_pre<len(G.edges): 19 num_pre = len(G.edges) 20 weight = 0 21 if (df_pos.columns[i] in df_tr.columns)and(df_pos.columns[j] in df_tr.index): 22 if df_tr[df_pos.columns[i]][df_pos.columns[j]]: 23 weight = df_tr[df_pos.columns[i]][df_pos.columns[j]]*size 24 elif(df_pos.columns[j] in df_tr.columns)and(df_pos.columns[i] in df_tr.index): 25 if df_tr[df_pos.columns[j]][df_pos.columns[i]]: 26 weight = df_tr[df_pos.columns[j]][df_pos.columns[i]]*size 27 edge_weights.append(weight) 28 29#座標の設定 30pos = {} 31for i in range(len(df_pos.columns)): 32 node = df_pos.columns[i] 33 pos[node] = (df_pos[node][0],df_pos[node][1]) 34 35#描画 36nx.draw(G,pos,with_labels = True ,font_size = 16,node_size = 1000,node_color = 'k',font_color = 'w', width = edge_weights ) 37 38#表示 39plt.show()
この出力結果を
teratail上に表示するにはどのように記述すれば良いのでしょうか?
あなたの回答
tips
プレビュー