我的问题与这个问题基本相同,但给定的答案对我不起作用。
这是一个示例渲染(源)
compound=true;
overlap=scalexy;
splines=true;
layout=neato;
边缘有一些不必要的重叠,但这还不错,主要问题是所有浪费的空间。
我尝试设置sep=-0.7;
,这就是发生的事情。
间距要好得多,但现在与节点有一些重叠。我尝试了不同overlap
的参数,这是唯一可以给出远程可接受结果的参数。
我尝试更改为 fdp 布局并K
全局设置 spring 常量属性,但我得到了这样的东西:
来源都是直截了当a--b--c
的东西,没有花哨的技巧。
我想要的是尽可能缩短所有边缘(最多),前提是这种调整不会引入任何新的重叠,这是sep
完全失败的地方。对于布局引擎来说,这似乎并不难。graphviz套件可以吗?我不介意更改渲染软件,但我不想在每个节点或每个边缘的基础上注释源。
我的理想结果是最小化边长的偏差,一次考虑一个节点,即每个节点除了必要的例外之外,都有相等长度的边,但这是一厢情愿的想法。优先级是在不能引入重叠的约束下减少每条边的长度。
我会接受部分解决方案,但它们必须是全自动和开源的。
我怎样才能做到这一点?谢谢。