graphviz - pygraphviz:找到子图/图中排名最低的节点

标签 graphviz pygraphviz

我正在尝试找到排名最低的节点,因为我希望始终将某些内容放在图表的最底部。有没有办法做类似 G.lowest_rank() 的事情并且它会返回节点的字符串?

如果没有,我该如何实现这一目标?

最佳答案

实际上,subraph rank 有特殊值名为 maxsink 的属性允许您将节点置于最低等级。

  • 如果您使用rank=max,那么该节点将出现在现有的最低排名上。
  • 如果您使用rank=sink,则节点有自己的排名,该排名低于图表的最低排名,例如:
digraph {
    a -> b -> c
    {
        rank=max
        bottom1 [label="rank=max"]
    }
}

max

digraph {
    a -> b -> c
    {
        rank=sink
        bottom1 [label="rank=sink"]
    }
}

sink

我对 PyGraphviz 不太熟悉,但要在那里获得相同的结果,你可以这样做:

G = pgv.AGraph(directed=True)
G.add_node('a')
G.add_node('b')
G.add_node('c')
G.add_node('bottom1', label="rank=sink")
G.add_edge('a','b')
G.add_edge('b','c')
G.add_subgraph(['bottom1'], name='s1', rank='sink')

关于graphviz - pygraphviz:找到子图/图中排名最低的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58437167/

相关文章:

python-3.x - 无法在 Jupyter Notebook 中显示 graphviz 树

graphviz - 固定节点位置

python - pygraphviz OSError : Format: "dot" not recognized. 使用以下之一:

Python 看不到 pygraphviz

python - pygraphviz 1.5 默认边缘没有箭头?

python - 将 Pandas 数据框导入 Graphviz Edges

python - Pip 安装 pygraphviz 失败 : Failed building wheel for pygraphviz

python - Graphviz 决策树

visualization - 在 graphviz 中将具有相同颜色的节点彼此靠近分组

windows - Doxygen 1.8.7/GraphViz 2.38 兼容性问题