加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python中graphviz中的图形节点位置

发布时间:2020-12-20 11:48:20 所属栏目:Python 来源:网络整理
导读:我一直在寻找一段时间来在 python中的graphviz中指定图形中的节点位置.我在dot中找到了一个子图的 rank command,这是我正在寻找的,但是我找不到在python中将graphgraph中的子图和等级组合起来的方法.我也试图强制节点位置,但也没有工作.我创建了一个我想要实
我一直在寻找一段时间来在 python中的graphviz中指定图形中的节点位置.我在dot中找到了一个子图的 rank command,这是我正在寻找的,但是我找不到在python中将graphgraph中的子图和等级组合起来的方法.我也试图强制节点位置,但也没有工作.我创建了一个我想要实现的简单示例.

这是我的代码:

from graphviz import Digraph

top_nodes = ['a','b','c']

other_nodes = ['d','e','f','g','m','n']

g = Digraph('test',format='png')

for n in top_nodes:
    g.node(str(n),color='red')

for n in other_nodes:
    g.node(str(n))

g.edge('a','d')
g.edge('d','g')
g.edge('g','m')
g.edge('m','n')
g.edge('b','e')
g.edge('b','f')
g.edge('e','n')
g.edge('c','f')

g.view()

这是输出:

我希望红色节点(“源”)位于同一级别的图形顶部,只要保留分层布局,其余节点的位置就不那么重要了.

解决方法

尝试rank = same语句

enter image description here

digraph G {
a b c d e f g m n
{rank = same; a; b; c;}
a->d
d->g
g->m
m->n
b->e
b->f
e->n
c->f
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读