マニュアル: Graphviz

投稿日: 更新日: ダイアグラム コマンドラインインタフェース

インストール

macOSの場合

brew install graphviz

DOT言語

説明を見る限り、拡張子は'.gv'が使われているようです。 エンコーディングはデフォルトではUTF-8です。 デフォルトのフォントは環境によるのかもしれませんが、 macOSでは日本語のフォント(明朝体、詳細は不明)が使われていました。

graph

The DOT Language

定義: graph : [ strict ] (graph | digraph) [ ID ] '{' stmt_list '}'

無向、有向の混在はできませんが、回避策はあるようです。

ステートメント

定義(stmtの改行はスペースに置き換え)

ノード(node_stmt)

定義は以下。

言葉で書くとこんな感じです。

ちょっとややこしいですが、要は次のどちらでも書けるようです。

a [shape=box, style=filled, fillcolor=yellow]
b [shape=box] [style=filled, fillcolor=yellow]

エッジ(edge_stmt)

定義は以下(port, subgraphは後回し。。。)

要はa -- b -- cのように、次々とつなげて書けるようです。

属性(attr_stmt)

定義は以下。グローバルに設定するためのものみたいです。

サブグラフ(subgraph)

定義は以下。

ポート(port)

定義は以下。どうやらどこから線を出すかどうかを決めるためのもののようです。

以下のようにすると、東側(east)から線が出ます。

a -- b:e

属性

ラベル(label)


形(shape)

以下を参照。

CLI

sample.gvを入力として、PNG画像を作成するには、以下のようにします。

dot -Tpng sample.gv -o sample.png

出力フォーマット

出力フォーマットはいろいろあります(詳細はman dot)が、 PNG, JPEGといった画像はもちろん、 PDF、PostScript、DOT言語、JSONとかいろいろあります。

グラフの種類

コマンドを変えることで、出力が変わるようです。 それぞれアルゴリズムが違うようですが、試してみるのが早そうな感じです。

外部サイト


ページトップへ戻る