如何让Sphinx的inheritance_diagram可读?

Ros*_*ers 6 python graphviz python-sphinx

这篇文章的帖子类似,我看到Sphinx生成了不可读的graphviz输出:

如何生成可读输出?

  • 如果我添加,没有任何反应 -Gfontsize=140
  • 如果我告诉它使用neato而不是dot它产生可读输出,但图形不是树状的.

Ros*_*ers 7

我从这个帖子中找到了答案.在graphviz.py代码中,它们具有8.0x12.0的图形大小的默认值.如果你想让Graphviz确定你需要放入它的大小,conf.py那么Sphinx graphviz扩展使用空字符串而不是默认字符串:

inheritance_graph_attrs = dict(size='""')
Run Code Online (Sandbox Code Playgroud)

此外,如果您遇到此问题,那么一旦您允许Graphviz确定大小,图表可能会过宽.您还需要属性,rankdir="TB"因此树从上到下而不是从左到右:

inheritance_graph_attrs = dict(rankdir="TB", size='""')
Run Code Online (Sandbox Code Playgroud)