Graphviz 与节点之间的距离相比,群集太宽

Graphviz 与节点之间的距离相比,群集太宽,graphviz,dot,Graphviz,Dot,考虑以下dot代码: digraph "f400aee5-0667-4256-b0b1-e9a6a4dfa0f4" { graph [compound=true, newrank=true, ranksep=10, ratio=0.5, ]; node [ shape=point ]; subgraph "rank-1" { graph [rank=same]; subgraph "c

考虑以下dot代码:

digraph "f400aee5-0667-4256-b0b1-e9a6a4dfa0f4" {
    graph [compound=true,
        newrank=true,
        ranksep=10,
        ratio=0.5,
    ];
    node [ shape=point ];
    subgraph "rank-1" {
        graph [rank=same];
        subgraph "cluster_1" {
            graph [label="some gaph label"];
            "node1-1";
        }
    }
    subgraph "rank-2" {
        graph [rank=same];
        "vm";
    }
    "vm" -> "node1-1";
    "vm" -> "node2-1";
    "vm" -> "node2-2";
}
命令的输出

$ cat ~/Desktop/dump1.dot | ./dot.exe -Tpng > ~/Desktop/dump1.png


簇的宽度非常大。ranksep故意设置为10,以创建更多空间。但是如何确保簇的宽度与其他节点之间的距离更接近?

使用
比率,可以缩放包括簇在内的图的每个部分。看起来您只想增加下面三个节点之间的距离,您可以使用
nodesep

nodesep=5
替换
ratio=0.5
,得到下图:
该输出是否与您要查找的内容相似?

该比率是应用程序视口纵横比给定的常量,通常在0.5左右。将nodesep设置为固定常量不会放大到更大的图形,是吗?
ratio=0.5
会导致集群变宽,从而防止需要其他东西来放大图形。设置固定常量
nodesep
可能不是最好的解决方案,但您的
ranksep
也是一个固定常量。您是否尝试过图形属性
dpi
?如果将其设置为高于默认值96,则还可以增加输出的大小。