【问题标题】:Sphinx graphviz inheritance diagram increase node sizeSphinx graphviz继承图增加节点大小
【发布时间】:2013-03-25 00:32:24
【问题描述】:

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

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

在我的conf.py 我有:

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

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

.. inheritance-diagram:: package.module

这给了我下图:

我认为增加节点的大小应该可以解决问题,但我就是不知道该怎么做。

【问题讨论】:

    标签: python diagram graphviz python-sphinx


    【解决方案1】:

    我意识到这是一篇旧帖子,但由于我在尝试使用自定义继承图生成 sphinx 文档时偶然发现了它,所以我想我会提供一个几天前对我有帮助的答案。 Graphviz 文档中对我生成继承图和更改它们的外观最有帮助的资源对设置这些参数非常有帮助。

    该表标记了每个属性、使用该属性的组件以及名称-值对的组件的值。所以对于每个:

    inheritance_graph_attrs = G
    inheritance_node_attrs = N
    inheritance_edge_attrs = E
    

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

    inheritance_node_attrs = {height=1, width=1} 
    

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

          我没有太多经验,但我想说问题在于它只“检测”到三个水平级别。字体大小是根据可用空间自动计算的。您必须以某种方式让他将节点分布在三个以上的级别...没有具体示例,很难说更多,因为我无法自己尝试。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-12-04
            • 1970-01-01
            • 1970-01-01
            • 2011-04-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-04-13
            相关资源
            最近更新 更多