graphviz集群的标签多行

时间:2015-06-20 23:33:12

标签: python label graphviz multiline

我正在使用python + graphviz,以便从Racktables中包含的信息中创建网络拓扑。到目前为止,我的成功相当不错,但我现在愿意为群集(不是节点)添加多行标签。

例如,我有以下代码与python:

use Pod::Usage 'pod2usage';

sub pod2scalar {
  open my $fh, '>', \my $text;
  pod2usage(@_, -output => $fh, -exitval => 'NOEXIT');
  $text;
}

当我运行该程序时,我得到以下内容:

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_hw,则不会出现错误并绘制拓扑,但当然是一行标签。

对此有任何提示吗?

非常感谢!

卢卡斯

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案。多行标签是使用类似HTML的标签实现的,如下所示...

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

此代码提供以下内容:

enter image description here

谢谢!

卢卡斯