Python-Graphviz强制等级至少相同

时间:2018-10-16 06:38:27

标签: python graphviz

我在做什么

我正在用graphviz创建课程树。每个课程都是一个节点,先决条件和并发条件被表示为节点之间的边缘。

什么在起作用

布局很好地完成了将课程置于其先决条件之下的任务

什么不起作用

我已经将constraint='false'放在了必要条件上。但是,我希望必备项彼此之间至少相同级别(又名,必备项应指向侧面和/或向下)。

代码

for course in data['CPEN']['courses']:
    cpen.node(course['id'])

for course in data['CPEN']['courses']:
    for pre in course['prerequisites']:
        cpen.edge(pre, course['id'], color='Black')
    for co in course['corequisites']:
        cpen.edge(co, course['id'], color='Blue', constraint='false')

cpen.render(f'test-output/cpen_{time.time()}.gv', view=True)

电流输出

enter image description here

数学101是数学152的必备条件,因此它们至少应处于同一等级(不一定是同一等级)。但是,由于没有限制,因此未在排序中使用边缘,因此箭头朝上。

问题

如何使一个节点与另一个节点处于相同或更高的等级

如何将节点的等级设置为数字? (如何将第二年课程设置为至少3级?)

0 个答案:

没有答案