人と人の関係を表すのに、ネットワークグラフが便利だ
しかし、パワーポイントやワードのドロー機能でいちいち書いていくのも面倒だし、Visioだって買うと結構な値段がする。
そこで、Graphviz
これは賢い
参考記事がここにある
digraph graph01
{
node [fontname="MS GOTHIC"];
"あれ" [shape=box];
"あれ" -> "これ" [label="1",fontcolor=blue];
"これ" -> "それ" [label="2",fontcolor=blue];
"それ" -> "それ" [label="3",fontcolor=blue];
}
なんていうテキストをUTF-8で保存して、
dot -Tgif -Kneato c:\tmp\test.dot -o c:\tmp\test.gif
なんていう感じでコマンドを実行すると
色んなレイアウト(dot、neato、dotty、lefty)、データフォーマット(jpeg,png、svgなどなど)に出力してくれる。コマンドラインで動作するから、ノードデータをプログラムで書き出し、バッチ処理なんていう使い方がよさそうだ。
自分の場合は、これを何に使いたいのかというと、経営情報の可視化だ。基幹システムの受注データ、製造データを抜き出し、顧客、営業担当者、技術責任者、技術担当者をネットワークグラフで繋いで、お金の流れをノードで表現したい。
金額の大きさが接続線の太さ、矩形の大きさで表現できたら良い。さらに、顧客、営業、技術で矩形の色を変えて分かりやすくしたいと考えている。
■参考サイト
wikipedia Graphviz
Graphviz チュートリアル
親切なチュートリアル。
GraphViz日本語使用法
Graphviz 使いかた
GraphVizで日本語を使いたい
Python から Graphviz を使う
Use WinGraphviz in ASP
ASPから使えるようにしちゃったらしい(未確認)
グラフが簡単に描ける―Graphvizの使い方
dot を使ったグラフ描画(PDF)