パナマ文書のデータを可視化する
はじめに
先日、技術的な面から見たパナマ文書に関する解説記事を投稿しました。今でも流出した大元のデータは公開されていません。ICIJのサイトにごく一部が公開されていますが、それも基本的にはサイトでブラウザから閲覧するために公開されているものです。
しかしある方が、今サイトにあるデータをもとに、計算機で扱いやすい形に加工して公開しています。
どのように入手したのかについてもここにその方法が書いてありますので、興味のある方は読んでみてください。今回は実際にそのデータを使って簡単な可視化を行う場合の手順を紹介します。
これで何ができるのか?
このデータは、ICIJのサイトから切り出された極めて限られた部分のみなので、これで全貌を把握するということはできません。しかし、少なくとも現在公開されている小規模なサブグラフ(ICIJが既に報道している、各国の政治家関連と思われるペーパーカンパニーと関係者のネットワーク)に関してはJSONファイルとして公開されているので、それを手元のソフトウェアで加工や可視化することが可能です。
手順
一例として、公開されているJSONを加工して、そのグラフ(ネットワーク)を可視化できるようにしてみました。やっていることは非常に簡単で、以下のような作業を行いました。
- GitHubからデータをダウンロードする
- PythonでグラフのJSONファイルを加工し、Cytoscapeで扱える形に変形する
- それをCytoscapeにREST APIを使って送信し、自動レイアウトを行う
- Cytoscapeのスタイリング機能(データを見た目にマッピングする機能)を使って、結果を整える
データを可視化できる簡単な変換スクリプトをJupyter Notebookとして残しておきましたので、興味のある方はどうぞ。
各種ファイルやツールへのリンク
- Anaconda Python distribution
- Jupyter Notebook
- py2cytoscape
- Cytoscape
- 可視化した結果のCytoscapeセッションファイル(v3.3以降。とりあえず結果だけ見てみたいという方はこのファイルをCytoscapeで開いてみてください)
まとめ
グラフ形式のデータは、基本的にどれも似たり寄ったりですので、簡単なスクリプトを書くことで加工し、様々なソフトウェアで利用することができます。いずれもう少し大規模なネットワークデータが公開されると思いますが、とりあえずは今公開されているデータを触ってみて、どんな加工や可視化ができるのかを想像してみるのも面白いかもしれません。
Keiichiro Ono
CC BY 4.0
質問やご意見は kono at ucsd eduまでお願いします。
4/23/2016