sphinx.ext.graphviz – Graphvizのグラフを追加

バージョン 0.6 で追加.

この拡張モジュールを使用すると、 Graphviz のグラフをドキュメント内に埋め込むことができるようになります。

この拡張モジュールは以下のディレクティブを提供します:

.. graphviz::

Graphvizのコードをドキュメント内に直接記述するためのディレクティブです。 ここでコンテンツとして入力された内容は、 dot コマンドで処理されます。 サンプル:

.. graphviz::

   digraph foo {
      "bar" -> "baz";
   }

HTML出力されるときには、PNGのイメージファイルや、SVGイメージとしてレンダリングされます。 LaTeX出力時にはこのコードは埋め込み可能なPDFファイルとしてレンダリングされます。 graphviz_output_format を参照してください。

graphviz ディレクティブの引数にファイル名を与えて、コンテンツを空にすることで、外部のdotファイルを埋め込むこともできます:

.. graphviz:: external.dot

Sphinx内の他のファイル参照と同様に、絶対パスのファイル名はソースディレクトリからの相対パスとして扱われます。

バージョン 1.1 で変更: 外部ファイルのサポートを追加。

.. graph::

無向グラフをひとつ埋め込むのに使用するディレクティブです。 グラフの名前はディレクティブ引数として渡します。ディレクティブのコンテンツがそのままグラフ作成に使用されます。 このディレクティブは graph <名前> { <コンテンツ> } というグラフを作成するための便利機能です。

例えば:

.. graph:: foo

   "bar" -- "baz";

注釈

The graph name is passed unchanged to Graphviz. If it contains non-alphanumeric characters (e.g. a dash), you will have to double-quote it.

.. digraph::

有向グラフをひとつ埋め込むために使用するディレクティブです。 グラフの名前はディレクティブ引数として渡します。ディレクティブのコンテンツがそのままグラフ作成に使用されます。 このディレクティブは digraph <名前> { <コンテンツ> } というグラフを作成するための便利機能です。

例えば:

.. digraph:: foo

   "bar" -> "baz" -> "quux";

バージョン 1.0 で追加: これら3つのディレクティブは全て alt オプションをサポートします。このオプションはHTML出力の画像の代替テキストを指定します。指定しない場合、代替テキストとしてgraphvizのコードが使用されます。

バージョン 1.1 で追加: これら3つのディレクティブは全て inline フラグをサポートします。このフラグはパラグラフの出力分割をコントロールします。指定した場合、グラフが現在のパラグラフに挿入されます。指定しない場合、パラグラフがグラフの前後で分割されます(デフォルト)。

バージョン 1.1 で追加: これら3つのディレクティブは全て caption オプションをサポートします。このオプションダイアグラムのキャプションに使用されます。”inline” に指定されたダイアグラムはキャプションを持つことが出来ません。

バージョン 1.4 で撤廃: inline オプションは廃止予定です。これら三つのディレクティブはデフォルトでinlineノードを生成します。もし caption が与えられた場合、代わりにblockノードを生成します。

バージョン 1.4 で変更: All three directives support a graphviz_dot option that can be switch the dot command within the directive.

バージョン 1.5 で追加: All three directives support a align option to align the graph horizontal. The values “left”, “center”, “right” are allowed.

専用の設定もいくつか追加されます:

graphviz_dot

dot を呼び出すときに使用するコマンド名です。デフォルトでは 'dot' です。 もしも dot コマンドが実行時の検索パスに存在していなくて、フルパスを設定する必要がある場合にはこの設定値を変更してください。

この設定はシステム間で共通にはできないため、conf.py の中で設定することは通常行いません。むしろ、次のように sphinx-build コマンドの -D オプションとして与えるほうが望ましいでしょう。

sphinx-build -b html -D graphviz_dot=C:\graphviz\bin\dot.exe . _build/html
graphviz_dot_args

dot コマンドに渡す、追加のコマンドライン引数です。デフォルト値は空のリストです。 -G, -N, -E オプションを使用して、ドキュメント内のすべてのGraphvizのグラフの、グラフ、ノード、エッジの属性を変更する場合にはこのオプションを使用してください。

graphviz_output_format

The output format for Graphviz when building HTML files. This must be either 'png' or 'svg'; the default is 'png'. If 'svg' is used, in order to make the URL links work properly, an appropriate target attribute must be set, such as "_top" and "_blank". For example, the link in the following graph should work in the svg output:

.. graphviz::

     digraph example {
         a [label="sphinx", href="http://sphinx-doc.org", target="_top"];
         b [label="other"];
         a -> b;
     }

バージョン 1.0 で追加: 以前は出力はPNGしかありませんでした。