sphinx.ext.graphviz -- 在文档中嵌入 Graphviz 图

Added in version 0.6.

此插件允许你在文档中嵌入 Graphviz 图。

它添加了以下指令:

.. graphviz::

用于嵌入 Graphviz 代码的指令。dot 的输入代码作为内容提供。例如:

.. graphviz::

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

在 HTML 输出中,代码将被渲染为 PNG 或 SVG 图像(参见 graphviz_output_format)。在 LaTeX 输出中,代码将被渲染为可嵌入的 PDF 文件。

你也可以通过将文件名作为 graphviz 的参数并省略额外内容来嵌入外部 dot 文件,例如:

.. graphviz:: external.dot

对于所有文件引用,当文件名是绝对路径时,将其视为相对于源目录的相对路径。

Changed in version 1.1: 添加了对外部文件的支持。

选项

:alt: alternate text (text)

图的替代文本。默认情况下,图的代码将用作替代文本。

Added in version 1.0.

:align: alignment of the graph (left, center or right)

水平对齐图

Added in version 1.5.

:caption: caption of the graph (text)

图表的标题。

Added in version 1.1.

:layout: layout type of the graph (text)

图的布局(例如 dotneato 等)。还允许提供图的命令路径。默认情况下,graphviz_dot 将被使用。

Added in version 1.4.

Changed in version 2.2: 重命名为 graphviz_dot

:name: label (text)

图的标签。

Added in version 1.6.

:class: class names (a list of class names separated by spaces)

图的类名。

Added in version 2.4.

.. graph::

嵌入单个无向图的指令。名称作为指令参数给出,图的内容是指令内容。这是方便的指令,用于生成 graph <name> { <content> }

例如:

.. graph:: foo

   "bar" -- "baz";

Note

图的名称将按原样传递给 Graphviz。如果包含非字母数字字符(例如破折号),则需要将其双引号。

选项

graphviz 相同。

:alt: alternate text (text)

Added in version 1.0.

:align: alignment of the graph (left, center or right)

Added in version 1.5.

:caption: caption of the graph (text)

Added in version 1.1.

:layout: layout type of the graph (text)

Added in version 1.4.

Changed in version 2.2: 重命名为 graphviz_dot

:name: label (text)

Added in version 1.6.

:class: class names (a list of class names separated by spaces)

图的类名。

Added in version 2.4.

.. digraph::

嵌入单个有向图的指令。名称作为指令参数给出,图的内容是指令内容。这是方便的指令,用于生成 digraph <name> { <content> }

例如:

.. digraph:: foo

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

选项

graphviz 相同。

:alt: alternate text (text)

Added in version 1.0.

:align: alignment of the graph (left, center or right)

Added in version 1.5.

:caption: caption of the graph (text)

Added in version 1.1.

:layout: layout type of the graph (text)

Added in version 1.4.

Changed in version 2.2: 重命名为 graphviz_dot

:name: label (text)

Added in version 1.6.

:class: class names (a list of class names separated by spaces)

图的类名。

Added in version 2.4.

还有这些配置值:

graphviz_dot

调用 dot 的命令名称。默认值为 'dot';如果 dot 不在可执行搜索路径中,你可能需要设置为完整路径。

由于此设置在系统之间不可移植,因此通常不建议在 conf.py 中设置它;而应该通过 sphinx-build 命令行上的 -D 选项来设置,如以下所示:

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

要给 dot 的额外命令行参数,作为列表。默认值为空列表。这是设置全局图、节点或边属性的正确地方,通过 dot 的 -G-N-E 选项。

graphviz_output_format

构建 HTML 文件时 Graphviz 的输出格式。这必须是 'png''svg';默认值为 'png'。如果使用 'svg',为了使 URL 链接正常工作,必须设置适当的 target 属性,如 "_top""_blank"。例如,以下图中的链接应该在 svg 输出中工作::

.. graphviz::

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

Added in version 1.0: 之前,输出始终是 PNG。