集群没有显示

时间:2017-04-02 00:42:00

标签: pygraphviz

我使用以下代码生成一个包含两个群集的图表,每个群集包含四个节点 出于某些原因,当我打印图表时,群集不会显示。 我做错了什么?

import pygraphviz as pgv    

A=pgv.AGraph(bgcolor="#cccccc",layout='neato')
A.add_edge('R1','R2')
A.add_edge('R2','R3')
A.add_edge('R3','R4')
A.add_edge('R4','R5')
A.add_edge('R5','R6')
A.add_subgraph(['R1','R2','R3','R4'], 'pbd01')
A.add_subgraph(['R5','R6','R7','R8'], 'pbd02')


A.write('cluster.dot') 
A.draw('Topology.png', prog='neato')

enter image description here

1 个答案:

答案 0 :(得分:2)

我相信有两个问题:

  1. 'neato'渲染引擎不支持群集
  2. 按照惯例, 支持群集的渲染引擎要求子图名称以'cluster'开头
  3. 使用'dot'引擎生成以下代码/图像,并正确地聚类节点:

    import pygraphviz as pgv    
    
    A=pgv.AGraph(bgcolor="#cccccc",layout='dot')
    A.add_edge('R1','R2')
    A.add_edge('R2','R3')
    A.add_edge('R3','R4')
    A.add_edge('R4','R5')
    A.add_edge('R5','R6')
    A.add_subgraph(['R1','R2','R3','R4'], name='cluster_pbd01')
    A.add_subgraph(['R5','R6','R7','R8'], name='cluster_pbd02')
    
    
    A.write('cluster.dot') 
    A.draw('Topology.png', prog='dot')
    

    Topology.png