从Graphviz点簇子图中删除矩形
有没有一种方法可以告诉Dot使用集群,但不显示子图节点周围的矩形?您可以使用从Graphviz点簇子图中删除矩形,graphviz,dot,Graphviz,Dot,有没有一种方法可以告诉Dot使用集群,但不显示子图节点周围的矩形?您可以使用style执行此操作 使用style=invi的示例: digraph g{ subgraph cluster0 { style=invis; 1 -> 2; } } subgraph cluster1 { style=invis ... } 如果要将此作为所有子图的默认设置,请使用子图[style=invi]: digraph g{ subgraph[style=invis]; su
style
执行此操作
使用style=invi
的示例:
digraph g{
subgraph cluster0 {
style=invis;
1 -> 2;
}
}
subgraph cluster1 {
style=invis
...
}
如果要将此作为所有子图的默认设置,请使用子图[style=invi]
:
digraph g{
subgraph[style=invis];
subgraph cluster0 {
1 -> 2;
}
}
编辑:9年后 最好的解决办法是使用
外围设备=0
这实际上会阻止在svg输出中生成矩形,而penwidth=0
仍然包含一个多边形(带有stroke width=“0”
,但它仍然存在)
我添加了这个,因为这是投票最多的答案。您可以使用
style=invi
:
digraph g{
subgraph cluster0 {
style=invis;
1 -> 2;
}
}
subgraph cluster1 {
style=invis
...
}
作为上述
style=invi
方法的替代方法,您还可以设置pencolor=transparent
(本地或全局)。这可以通过使用penwidth=0
属性来完成。这既不会影响标签文本,也不会更改簇的边界框。根据图形驱动程序的不同,这可能会输出零宽度边界。使用建议的peripheries=0
属性会强制删除默认矩形环绕,作为副作用
虽然
style=invi
和pencolor=transparent
属性在大多数情况下都有效,但可能需要避免挤压集群标签并在集群周围留下一条透明线。在不需要边框的子图中使用penwidth=0
这就是我使用它的方式。它只会删除簇边界,不会产生任何副作用,就像style=invi
一样,这也会删除图形标签(在我的情况下是不希望的)
查看
%0
集群2
设置
集群0
你好
集群1
世界
1.
1.
2.
2.
1-2.
3.
3.
3-2.
您也可以使用外围设备=0这种style=invi
方法不再是“上面”,我将编辑答案谢谢!与style=invi
相比,pencolor=transparent
实际上保留了子图的标签。关于子图[style=invi]有什么提示吗?将这一行添加到我的图表顶部只会给我一个语法错误。谢谢,这很有效。主图中的style=invi也可以设置默认值:有向图g{style=invi;子图cluster0{1->2;}}。不幸的是,在我的例子中,添加此属性也会删除子图标签。在我看来,这是不可取的。关于如何解决这个问题有什么建议吗?和@AviMehenwal的问题一样。。。有什么想法吗?@MatthiasLohr我已经发布了我的答案。看看那里,它对我很有用