Graphviz:如何减少节点的顶部和底部边距?

Graphviz: how to reduce the top and bottom margins of a node?

如何减少这些 Graphviz 节点的顶部和底部边距?我将“0.05、0.0 指定为每个节点的边距,字体大小 = 8。

digraph { rankdir = LR
    node [shape=box margin=0 width=0 height=0]
    asdf [label="asdf\nasdf"]
    qwer [label="qwerqwer"]
    asdf -> qwer
}

节点有一个默认的最小尺寸(宽度和高度),所以如果你减少边距超过某个点,它就没有效果。至少,这就是它处理方框(矩形)节点和其他一些简单形状的方式。

widthheight实际上指定了最小宽度和高度,而不是实际的宽度和高度(除非您还指定尺寸是固定的) .因此,要获得更小的边距,您可以只使用非常小的 widthheight 值,形状仍会被拉伸以适合标签。

使用默认值:

digraph {
    node [shape=box]
    a -> "longer name"
    "longer name" -> "taller\nname"
}

更小:

digraph {
    node [shape=box,width=0.1,height=0.1]
    a -> "longer name"
    "longer name" -> "taller\nname"
}

如果您希望边距更小,您也可以自行设置边距:

digraph {
    node [shape=box,width=0.1,height=0.1,margin=0.01]
    a -> "longer name"
    "longer name" -> "taller\nname"
}