graph-tool で遊ぶ1
複雑な世界のありようを理解するのに、「グラフ」の可視化だとか分析はすごく有用なのではと考え始めたので、グラフについて勉強してみる。
動くおもちゃがないと楽しくないので、いいのかどうか知らないが、検索して出てきた graph-tool というツールで可視化等をしてみる。
インストールは 「Download - graph-tool: Efficent network analysis with python」 に従えばできた。
みんな大好きな Barabási-Albert モデルのネットワークの絵を書いてみる。
import graph_tool.all as gt # ノード数 1000 の Barabási-Albert モデルのネットワークを作る g = gt.price_network(1000, directed=False) # グラフを描写するときのいい感じのノードの配置を計算する。 # どうも斥力と引力が働く粒子の運動を計算して、釣り合いがとれるような場所を計算しているっぽい。 # 試行毎に違う配置になる。 p = gt.sfdp_layout(g) # グラフを PNG 画像として出力する。 gt.graph_draw(g, pos=p, output="barabasi-albert.png")
美しい……。