【问题标题】:Increasing distance between subgraphs增加子图之间的距离
【发布时间】:2017-12-06 21:38:16
【问题描述】:

我有以下代码:

digraph g {
graph [rankdir="LR" ,compound="true" ];
    subgraph cluster0 {
        graph [label="Ready\n\nAllowed Purchaser Operations:\noperation1,operation2\n\nAllowed Supplier Operations:\noperation1,operation3"  ];
        1 [ shape="none" ,fontcolor="white"  ];
    };
    subgraph cluster2 {
        graph [label="Paused\n\nAllowed Purchaser Operations:\noperation1,operation3\n\nAllowed Supplier Operations:\noperation2,operation3" ];
        3 [ shape="none" ,fontcolor="white"  ];
    };
    subgraph cluster4 {
        graph [label="Completed\n\nAllowed Purchaser Operations:\noperation4\n\nAllowed Supplier Operations:\noperation4" ];
        5 [ shape="none" ,fontcolor="white"  ];
    };
    1 -> 3 [ ltail="cluster0" ,lhead="cluster2" ,comment="6"  ];
    1 -> 5 [ ltail="cluster0" ,lhead="cluster4" ,comment="7"  ];
    3 -> 1 [ ltail="cluster2" ,lhead="cluster0" ,comment="8"  ];
    3 -> 5 [ ltail="cluster2" ,lhead="cluster4" ,comment="9"  ];
}

我想增加子图之间的距离。我试过使用lenmarginpad,但我试过的语法不起作用。有人可以帮助我吗?

【问题讨论】:

    标签: graph graphviz


    【解决方案1】:

    我认为您正在寻找的(正如Emden 指出的那样)确实是nodesepranksep 属性。

    graph [nodesep=6, ranksep=4];
    

    结果是:

    【讨论】:

    • 评论晚了。但我有一个疑问。添加nodesep和ranksep将解决上述解决方案。这是一个很好的建议。但是,图表的其他部分也会扩大。我只想增加 2 个集群之间的距离。休息一切都应该保持不变。有可能吗?
    • @Vishwadeep 最好为此打开一个新问题 ;-)
    【解决方案2】:

    集群是派生对象;它们的布局仅取决于其中包含的节点。因此,要更改簇间距,您需要更改节点间距。尝试将 rankep 和 nodesep 属性设置为更大的值。

    【讨论】:

    • 制作 rankep 给了我垂直的空间,但不是水平的。提高 nodeep 不起作用。
    • 在这里可以正常工作 - 添加 nodesep=6;ranksep=4; 会明显增加节点之间的距离。