Graphvizというソフトがある。DOTというテキスト形式でグラフを定義すると、レイアウトして絵にしてくれる。
たとえば、
digraph g { you -> me; }
とすると、
にしてくれる。
横にしたかったら
digraph g { rankdir=LR; you -> me; }
とすればいい。
もう1つ要素を追加すると
digraph g { rankdir=LR; you -> me -> her; }
となる。
もうちょっと複雑な例。
digraph g { rankdir=LR; you -> me -> her; him -> me; }
各要素の形や色もいろいろ指定できる。
digraph g { rankdir=LR; me [shape=box, color=blue, style=filled]; her [style=dotted]; you -> me -> her [style=dotted,arrowhead=empty]; him [color=green; style=filled]; him -> me; }
別のレイアウトアルゴリズムを適用した例。
GraphvizはMacでもWindowsでもUNIX系OSでも動く。出力形式にはPNGやJPEG、SVGやPostScriptなんかを指定できる。
たのしいソフトだ。
- Graphviz公式サイト
- GraphvizのMac用GUI(2004年のApple Design Awards受賞作品)