2015-06-20 109 views
0

我正在使用python + graphviz来创建网络拓扑结构,使其包含在Racktables中。到目前为止,我已经成功了,但我现在愿意为群集(而不是节点)添加多行标签。graphviz集群的标签多行

例如,我有蟒蛇下面的代码:

for router in routers: 
    [...] 
    cluster_name = "cluster"+str(i) 
    router_label=router_name+"\n"+router_hw 
    c = gv.Graph(cluster_name) 
    c.body.append('label='+router_label) 

当过我运行该程序,我得到如下:

ST120_CMS70_SARM 
SARM 
ST202_P9J70_SARM 
SARM 
Error: node "SARM" is contained in two non-comparable clusters "cluster1" and "cluster0" 

但是,如果我改变了router_label=router_name+"\n"+router_hwrouter_label=router_name+"_"+router_hw,我得到没有错误,并且拓扑得到绘制,但当然,一条线标签。

对此有何暗示?

非常感谢!

Lucas

回答

0

好的,我找到了解决方案。在多标签实现使用HTML标签一样,像下面的一个...

router_label="<"+router_name+"<BR />"+router_ip+">" 
c = gv.Graph(cluster_name) 
c.body.append('label='+router_label) 

此代码提供以下内容:

enter image description here

谢谢!

Lucas