回答編集履歴

1

追記

2020/02/05 14:38

投稿

bamboo-nova
bamboo-nova

スコア1408

test CHANGED
@@ -25,3 +25,51 @@
25
25
  参考資料
26
26
 
27
27
  https://teratail.com/questions/129715
28
+
29
+
30
+
31
+ **質問コメントに対する追記**
32
+
33
+ すみません、元々が0or1の隣接行列の場合には、解析する前にページランク解析で取得した辞書でフィルタして、対象に引っかかったノードを削除すれば大丈夫だと思います。
34
+
35
+ ```python
36
+
37
+ pr = nx.pagerank(G)
38
+
39
+ pos1 = nx.spring_layout(G)
40
+
41
+
42
+
43
+ # 0.05より低いノードを取り出すフィルタ
44
+
45
+ filters = {k: v for k, v in pr.items() if v < 0.05}
46
+
47
+ # 0.05より高いノード(表示させるノード)を取り出すフィルタ
48
+
49
+ ok = {k: v for k, v in pr.items() if v > 0.05}
50
+
51
+ # ネットワークから0.05より低いノードを取り除く
52
+
53
+ G.remove_nodes_from(filters.keys())
54
+
55
+
56
+
57
+ # 描画
58
+
59
+ plt.figure(figsize=(30, 30))
60
+
61
+ nx.draw_networkx_edges(G, pos1)
62
+
63
+ # pr.values()ではなくok.values()
64
+
65
+ nx.draw_networkx_nodes(G, pos=pos1, node_color=list(ok.values()), cmap=plt.cm.Reds, font_family='IPAexGothic', node_size=[100000*v for v in ok.values()])
66
+
67
+ nx.draw_networkx_labels(G,pos1,font_size=10, font_family='IPAexGothic')
68
+
69
+
70
+
71
+ plt.axis('off')
72
+
73
+ plt.show()
74
+
75
+ ```