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 中新增。
图表的标题。
版本 1.1 中新增。
- :layout: 图表的 布局类型 (文本)¶
图表的布局(例如
dot
、neato
等)。也允许使用 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 中新增。
版本 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 中新增。
版本 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。