始める無料で始める

nxviz を使ってフィルタ済みグラフを可視化する

ここでは、circos プロットを使ってフィルタ済みのグラフを可視化します。circos プロットは、この可視化に最適です。ノードのグループ分けと色分けでパーティションを表現でき、円形レイアウトにより見た目の分かりやすさも保てるためです。

この演習はコースの一部です

Python 中級ネットワーク解析

コースを見る

演習の手順

  • 二部グラフモジュールの次数中心性を使って各ノードの次数中心性スコアを計算しますが、元のグラフでの次数中心性に基づかせます。
    • そのために nx.bipartite.degree_centrality() 関数を使い、引数には Gnodes=forum_nodes を指定します。
  • 新しい circos プロットを作成し、ノードをパーティションラベル('bipartite')で色分け・グループ化(パラメータ node_color_bygroup_by)し、次数中心性('dc')で順序付け(パラメータ sort_by)して表示します。
    • 表示時にノードが見やすいように、node_enc_kwargs={'radius': 10} という引数を追加しています。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import necessary modules
from nxviz import circos
import networkx as nx
import matplotlib.pyplot as plt

# Compute degree centrality scores of each node
dcs = ____(____, nodes=____)
for n, d in G_sub.nodes(data=True):
    G_sub.nodes[n]['dc'] = dcs[n]

# Create the circos plot: c
c = _____(___, _____, _____, _____, node_enc_kwargs={'radius': 5})

# Display the plot
plt.show() 
コードを編集して実行