- こちらまでで、いろいろごちゃごちゃやってきた
- 調べ物を進めると、確かに、ネットワーク研究とかが進んで、ツールは増えているけれど、Graphvizはそれらの基礎に(いまだに)使われているし、いろんなことをカスタマイズするために、良いツールであることがわかる・・・
- インストール(簡単です)。ここからxxx.msiをダウンロードしてクリックするだけ
- Graphvizに面倒な点があるとすれば、インストールしてもアイコンがデスクトップにできないこと・チュートリアルがあまり親切でないこと・手ごろなサンプルがすぐに見つからないこと(あくまでも相対的に…ですが)くらいでしょうか。あとは、書式が『コンピュータ的』なこと:一度わかれば大丈夫。
- まずは、"gvedit.exe"を実行する。
- インターフェースが出るので、新しいファイルを作る。
- サンプルをどこかから取ってくる
- どれくらいカスタマイズできるかを確認
- エッジに色がつけられる(ここ)
- それなら、絶対にノードに色がつけられるはず(ここ)
- ハイパーリンクを出力画像に埋め込むことはできる(とここに書いてある、からあきらめない)
- これを頼りにやってみよう
- エッジリストを指定する。ノードの名前は自動的に付く。
- "graph{}"は無向グラフを作る
graph {
a -- b;
b -- c;
a -- c;
d -- c;
}
digraph {
a -> b;
b -> c;
a -> c;
d -> c;
}
-
- エッジを修飾する
- 1行が1エッジで、";"で終わる
- 色をつけたりラベルを張ったり(日本語フォントはひとまず文字化けした)、ハイパーリンクを埋め込んだり(掲載図はjpeg化してあるのでクリックしても飛びません)
- エンコーディングを選んでファイルを保存し、フォント指定をすればうまく行く(こちら)
- ハイパーリンクの埋め込みはsvg形式での出力で機能した(pdfはだめだった)(こちらがそのsvgファイル。エッジa->cをクリックするとGoogleページが開きます)
digraph {
a -> b [color="blue"];
b -> c [label="HOGE"];
a -> c [URL=<https://www.google.com/?hl=ja>];
d -> c;
}
-
- ノードを修飾する
- これまでのファイルではエッジを定義し、ノードについては、名前が自動的につけられただけなので、ノード情報を明示的に付け加えよう
- 同様にsvgファイルがこちらで、ノードcがハイパーリンクつきでyahooサイトに飛びます。
digraph {
a -> b;
b -> c;
a -> c;
d -> c;
a[label="MOGE"];
b[style=filled,fillcolor="green"];
c[URL=<http://www.yahoo.com/>];
}
- この機能だけでひとまず、事足りるけれど、Attributesを加えたければ、ここを見る
- 日本語フォント
digraph {
graph [charset="UTF-8",fontname="MS UI Gothic"];
a -> b;
b -> c;
a -> c;
d -> c;
a[label="テスト", fontname="MS UI Gothic"];
b[style=filled,fillcolor="green"];
c[URL=<http://www.yahoo.com/>];
}