回答編集履歴
1
追記
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
|
+
```
|