使用Graphviz Python对节点进行排名

时间:2019-07-28 10:22:25

标签: python nodes graphviz ranking

我正在使用大型数据集并将其排序为图形。图的节点根据它们表示的数据进行着色。我希望颜色相同的节点在图表上具有相同的等级,但是我不太了解如何做到这一点。当我需要Graphviz的Python语法时,我在网上找到的大多数示例代码都是DOT语法。

我尝试列出每种特定颜色的节点列表,然后遍历它们以赋予它们相同的等级,但是似乎不起作用。

for k in c:
        if k in s:
            if s[k] == 7:
                dot.node(str(k), str(k), color = 'lightgoldenrod1', style = 'filled')
                twelve.append(str(k))
            elif s[k] == 8:
                dot.node(str(k), str(k), color = 'cyan', style = 'filled')  
                thirteen.append(str(k))
            elif s[k] == 9:
                dot.node(str(k), str(k), color = 'magenta1', style = 'filled')  
                fourteen.append(str(k))
            elif s[k] == 10:
                dot.node(str(k), str(k), color = 'mediumspringgreen', style = 'filled')
                fifteen.append(str(k))
            elif s[k] == 11:
                dot.node(str(k), str(k), color = 'peachpuff', style = 'filled') 
                sixteen.append(str(k))
            elif s[k] == 12:
                dot.node(str(k), str(k), color = 'peru', style = 'filled')
                seventeen.append(str(k))
            elif s[k] == 13:
                dot.node(str(k), str(k), color = 'bisque', style = 'filled') 
                eighteen.append(str(k))
            else:
                print(s[k]) 
for w in fourteen:
        dot.graph_attr['rank']='same'; dot.node(w) 
for w in fifteen:
        dot.graph_attr['rank']='same'; dot.node(w) 

我似乎没有收到任何错误-只是图形输出没有差异。任何帮助将不胜感激。

0 个答案:

没有答案