graphviz 集群的标签多行

graphviz cluster's label multiple lines

我正在使用 python+graphviz 以根据 Racktables 中包含的信息创建网络拓扑。到目前为止我已经很成功了,但我现在愿意将多行标签添加到一个集群(而不是一个节点)。

例如,我有以下代码python:

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 更改为此 router_label=router_name+"_"+router_hw,我不会收到任何错误并且绘制了拓扑图,但是,当然,只有一行标签。

有什么提示吗?

非常感谢!

卢卡斯

好的,我找到了解决方案。多行标签是使用HTML like labels实现的,像下面这个...

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

此代码提供以下内容:

谢谢!

卢卡斯