質問編集履歴

1

コードがきちんと表示されていなかったので、修正してみました

2020/04/18 10:48

投稿

sekibetsu
sekibetsu

スコア6

test CHANGED
File without changes
test CHANGED
@@ -20,13 +20,39 @@
20
20
 
21
21
  ・"# エッジの重みの追加"の以下3行の意味(目的)
22
22
 
23
+  ```ここに言語を入力
24
+
25
+ # エッジの重みの追加
26
+
23
-   if num_pre<len(G.edges):
27
+ if num_pre<len(G.edges):
24
28
 
25
29
  num_pre = len(G.edges)
26
30
 
27
31
  weight = 0
28
32
 
33
+ ```
34
+
29
35
  ・さらにその下のif文, elif文のそれぞれの意味(目的)
36
+
37
+ ```ここに言語を入力
38
+
39
+
40
+
41
+ if (df_pos.columns[i] in df_tr.columns)and(df_pos.columns[j] in df_tr.index):
42
+
43
+ if df_tr[df_pos.columns[i]][df_pos.columns[j]]:
44
+
45
+ weight = df_tr[df_pos.columns[i]][df_pos.columns[j]]*size
46
+
47
+ elif(df_pos.columns[j] in df_tr.columns)and(df_pos.columns[i] in df_tr.index):
48
+
49
+ if df_tr[df_pos.columns[j]][df_pos.columns[i]]:
50
+
51
+ weight = df_tr[df_pos.columns[j]][df_pos.columns[i]]*size
52
+
53
+ edge_weights.append(weight)
54
+
55
+ ```
30
56
 
31
57
 
32
58
 
@@ -44,15 +70,41 @@
44
70
 
45
71
  ### 該当のソースコード
46
72
 
73
+ ```ここに言語を入力
74
+
75
+ import pandas as pd
76
+
77
+ import matplotlib.pyplot as plt
78
+
79
+ import networkx as nx
47
80
 
48
81
 
49
- ```python
50
82
 
51
- ```ここに言語を入力
83
+ # データ読み込み
52
84
 
53
- コード
85
+ df_tr = pd.read_csv('trans_route.csv', index_col="工場")
54
86
 
87
+ df_pos = pd.read_csv('trans_route_pos.csv')
88
+
89
+
90
+
91
+
92
+
93
+ # グラフオブジェクトの作成
94
+
95
+ G = nx.Graph()
96
+
97
+
98
+
99
+ # 頂点の設定
100
+
101
+ for i in range(len(df_pos.columns)):
102
+
103
+ G.add_node(df_pos.columns[i])
104
+
105
+
106
+
55
- ```# 辺の設定&エッジの重みのリスト化
107
+ # 辺の設定&エッジの重みのリスト化
56
108
 
57
109
  num_pre = 0
58
110
 
@@ -92,6 +144,34 @@
92
144
 
93
145
  edge_weights.append(weight)
94
146
 
147
+
148
+
149
+
150
+
151
+ # 座標の設定
152
+
153
+ pos = {}
154
+
155
+ for i in range(len(df_pos.columns)):
156
+
157
+ node = df_pos.columns[i]
158
+
159
+ pos[node] = (df_pos[node][0],df_pos[node][1])
160
+
161
+
162
+
163
+ # 描画
164
+
165
+ nx.draw(G, pos, with_labels=True,font_size=16, node_size = 1000, node_color='k', font_color='w', width=edge_weights)
166
+
167
+
168
+
169
+ # 表示
170
+
171
+ plt.show()
172
+
173
+ ```
174
+
95
175
 
96
176
 
97
177