sphinx.ext.graphviz – 添加 Graphviz 图表

版本 0.6 中新增。

此扩展允许您在文档中嵌入 Graphviz 图表。

它添加了以下指令

.. graphviz::

嵌入 graphviz 代码的指令。 dot 的输入代码作为内容给出。例如

.. graphviz::

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

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

您还可以嵌入外部 dot 文件,方法是将文件名作为参数传递给 graphviz 并且不包含其他内容

.. graphviz:: external.dot

对于 Sphinx 中的所有文件引用,如果文件名是绝对的,则将其视为相对于源目录。

版本 1.1 中更改: 添加了对外部文件的支持。

选项

:alt: 替代 文本 (文本)

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

版本 1.0 中新增。

:align: 图表的 对齐方式 (left, center right)

图表的水平对齐方式。

版本 1.5 中新增。

:caption: 图表的 标题 (文本)

图表的标题。

版本 1.1 中新增。

:layout: 图表的 布局类型 (文本)

图表的布局(例如 dotneato 等)。也允许使用 graphviz 命令的路径。默认情况下,使用 graphviz_dot

版本 1.4 中新增。

版本 2.2 中更改: graphviz_dot 重命名

:name: 标签 (文本)

图表的标签。

版本 1.6 中新增。

:class: 类名 (用 空格 分隔 类名 列表)

图表的类名。

版本 2.4 中新增。

.. graph::

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

例如

.. graph:: foo

   "bar" -- "baz";

注意

图名称会原样传递给 Graphviz。如果它包含非字母数字字符(例如破折号),则必须用双引号将其括起来。

选项

graphviz 相同。

:alt: 替代 文本 (文本)

版本 1.0 中新增。

:align: 图表的 对齐方式 (left, center right)

版本 1.5 中新增。

:caption: 图表的 标题 (文本)

版本 1.1 中新增。

:layout: 图表的 布局类型 (文本)

版本 1.4 中新增。

版本 2.2 中更改: graphviz_dot 重命名

:name: 标签 (文本)

版本 1.6 中新增。

:class: 类名 (用 空格 分隔 类名 列表)

图表的类名。

版本 2.4 中新增。

.. digraph::

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

例如

.. digraph:: foo

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

选项

graphviz 相同。

:alt: 替代 文本 (文本)

版本 1.0 中新增。

:align: 图表的 对齐方式 (left, center right)

版本 1.5 中新增。

:caption: 图表的 标题 (文本)

版本 1.1 中新增。

:layout: 图表的 布局类型 (文本)

版本 1.4 中新增。

版本 2.2 中更改: graphviz_dot 重命名

:name: 标签 (文本)

版本 1.6 中新增。

:class: 类名 (用 空格 分隔 类名 列表)

图表的类名。

版本 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://sphinx-doc.cn/", target="_top"];
         b [label="other"];
         a -> b;
     }

版本 1.0 中新增: 以前,输出始终为PNG。