gpt4 book ai didi

vis.js - 如何避免网络图节点重叠?

转载 作者:行者123 更新时间:2023-12-02 06:55:37 34 4
gpt4 key购买 nike

我正在使用 Visjs 并用文本显示矩形节点。有些节点可以有几行文本,因此我添加了一种启发式算法来大致计算出换行符应该在哪里,以避免在非常宽但非常短的节点中出现非常宽的单行文本 block 。

问题是,即使打开物理功能,我仍然会遇到重叠的节点。

是否可以告诉布局引擎,在任何情况下(或物理模型),任何两个节点都不应重叠?

最佳答案

好吧,看看 physics configuration example :如您所见,barnesHut 求解器具有避免重叠属性,即使在 springConstant 等于 0 时也能防止重叠。试试这个:

var options = {
"physics": {
"barnesHut": {
"springConstant": 0,
"avoidOverlap": 0.2
}
}
}

并调整常量以满足您的需求(上面链接的示例对此很有用)。

来自其文档:

Accepted range: [0 .. 1]. When larger than 0, the size of the node is taken into account. The distance will be calculated from the radius of the encompassing circle of the node for both the gravity model. Value 1 is maximum overlap avoidance.

但需要注意的是:我看到有人建议从较低的 avoidOverlap 值(例如 0.1)开始,以简化求解器的任务。我不记得我到底在哪里读到过这篇文章。

关于vis.js - 如何避免网络图节点重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46880063/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com