Sphinx graphviz继承图增加了节点大小

时间:2013-04-03 11:10:34

标签: python diagram graphviz python-sphinx

我正在尝试使用sphinx.ext.inheritance_diagram扩展名在Sphinx中生成继承图。这使用Graphviz绘制图表。

这不是一个巨大的图表,似乎有足够的空间来增加节点的大小,使它们可读。但是我不能让Graphviz这样做。我已经尝试过增加/减少字体大小,宽度,高度,大小等等,但是我没有努力使图表可读。

conf.py我有:

inheritance_graph_attrs = dict(rankdir="TB", ratio='fill')

为了生成模块的继承图,我在相应的rst文件中包含了以下指令:

.. inheritance-diagram:: package.module

这给了我以下图表:

generated diagram

增加节点的大小应该是我认为的技巧,但我无法弄清楚如何这样做。

4 个答案:

答案 0 :(得分:0)

我没有太多经验,但我会说问题是它“检测”只有三个水平线。字体大小根据可用空间自动计算。你必须以某种方式让他在超过三个级别分配节点...没有一个具体的例子,因为我无法尝试自己,所以很难说更多。

答案 1 :(得分:0)

documentation似乎建议你可以使用这些:

  • inheritance_graph_attrs:继承图的graphviz图形属性字典。
  • inheritance_node_attrs:继承图的graphviz节点属性字典。
  • inheritance_edge_attrs:继承图的graphviz边缘属性字典。

答案 2 :(得分:0)

您应该在conf.py中的inheritance_graph_attrs中设置参数大小,例如:

inheritance_graph_attrs = dict(fontsize=12, size='"16.0, 20.0"')

答案 3 :(得分:0)

我意识到这是一篇过时的文章,但是由于我在尝试生成具有自定义继承图的狮身人面像文档时偶然发现了它,因此我想我会在几天前提供一个对我有帮助的答案。在Graphviz文档中,对生成继承图和更改继承图最有用的资源是对设置这些参数很有帮助。

该表标记每个属性,使用该属性的组件以及名称/值对的组件值。因此,对于每个人:

inheritance_graph_attrs = G
inheritance_node_attrs = N
inheritance_edge_attrs = E

因此,您可以使用以下命令设置以英寸为单位的节点大小:

inheritance_node_attrs = {height=1, width=1} 

除非需要更多空间,否则节点的初始高度和宽度为1英寸。您还可以在Graphviz中查看每个可以更改的属性,以及如何在conf.py文件中更改它们。