pygraphviz 上的嵌套集群(或 add_subgraph)

Posted

技术标签:

【中文标题】pygraphviz 上的嵌套集群(或 add_subgraph)【英文标题】:Nested clusters (or add_subgraph) on pygraphviz 【发布时间】:2017-08-16 15:14:56 【问题描述】:

使用 pygraphviz,我可以使用 add_subgraph(list_of_nodes, label='cluster_somename') 添加子图。这将在调用 layout 时在子图块中创建它。

有没有办法嵌套子图?

我正在使用dot 布局,我知道它可以处理和显示嵌套的子集群。但我无法让 pygraphviz 输出嵌套集群。

【问题讨论】:

【参考方案1】:

您可以调用子图的add_subgraph() 来创建嵌套子图。

import pygraphviz as pgv

g = pgv.AGraph(name='root')
g.add_node('A')

g.add_subgraph(name='cluster_1')
c1 = g.subgraphs()[-1]
c1.add_node('B')

c1.add_subgraph(name='cluster_2')
c2 = c1.subgraphs()[-1]
c2.add_node('C')

print(g)
strict graph root 
    subgraph cluster_1 
        subgraph cluster_2 
            C;
        
        B;
    
    A;

【讨论】:

以上是关于pygraphviz 上的嵌套集群(或 add_subgraph)的主要内容,如果未能解决你的问题,请参考以下文章

Pygraphviz / networkx 设置节点级别或层

Pygraphviz 安装失败,错误代码 1083 无法打开文件 graphviz/cgraph.h:没有这样的文件或目录

Pip install pygraphviz 失败:pygraphviz 的构建轮失败

在 Windows 上安装 pygraphviz

使用 PyGraphviz 绘制有关图形\节点的更多信息

Pygraphviz 在绘制 170 个图后崩溃