如何让Sphinx的继承图更易读?

6 投票
1 回答
1435 浏览
提问于 2025-04-15 18:34

这位朋友的帖子类似,我发现Sphinx生成的graphviz输出看起来很难读:

我该如何生成可读的输出呢?

  • 如果我加上-Gfontsize=140,什么也没有发生。
  • 如果我让它用neato而不是dot,它会生成可读的输出,但图形就不是树状的了。

1 个回答

7

我从这个讨论串找到了答案。在graphviz.py的代码里,图的默认大小是8.0x12.0。如果你想让Graphviz自己决定图的大小,你需要在conf.py里加上这个设置,这样Sphinx的graphviz扩展就会使用你设定的空字符串,而不是它的默认值:

inheritance_graph_attrs = dict(size='""')

另外,如果你遇到这个问题,可能是因为一旦让Graphviz决定大小,图会变得太宽。你还需要加上属性rankdir="TB",这样树形结构就会从上到下排列,而不是从左到右:

inheritance_graph_attrs = dict(rankdir="TB", size='""')

撰写回答