如何在Graphviz中显示无节点的空集群(仅框和标签)?
如何在Graphviz中显示空集群/子图
你可以通过以下两种简单方案解决空集群不显示的问题:
方案1:添加一个不可见的占位节点
在空集群内插入一个尺寸为0的不可见节点,既不会破坏视觉效果,又能触发集群框的渲染:
digraph{ a subgraph cluster_b { label="My label" // 插入不可见占位节点 _dummy [shape=point, width=0, height=0, style=invis] } }
注意:Graphviz默认只识别以cluster_开头命名的子图为集群,所以建议把你的subgraph b改成subgraph cluster_b,避免集群功能失效。
方案2:强制设置集群的宽高与边框(兼容性有限)
如果不想添加节点,可以尝试给集群指定固定宽高,同时确保边框样式可见:
digraph{ a subgraph cluster_b { label="My label" width=1.5 height=0.8 penwidth=1.5 // 让边框更明显 style=filled fillcolor=white } }
不过这种方式对布局引擎有要求,比如dot引擎可能依然不渲染空集群,所以更推荐第一种方案。
内容的提问来源于stack exchange,提问作者Udo Eisenbarth
相关产品推荐
相关产品推荐

