Arbor.js 图表不稳定,超过 30 个节点链接到一个中心节点
Arbor.js graph unstable with >30 nodes linked to a central node
在 Arbor.js 可视化中有 30 多个节点链接到父节点,父节点在集群的相对两侧之间摆动 - gif。
可通过 this repo 重现 - 检查一下,启动本地服务器 (python -m SimpleHTTPServer 8080
),然后将您的网络浏览器指向 localhost:8080
。
图表在 30 个节点时稳定,在 35 个节点时不稳定但仍然集中,在 40 个节点时完全不稳定。
我认为这是因为,当父节点在集群中心之外时,所有子节点的 "pull" 将它拉得很厉害,以至于在下一个 "tick" 上,它位于对面的集群之外。我想这可以通过限制可以施加在单个节点上的总力或节点可以在单个滴答中移动的最大距离来解决 - 但我不知道该怎么做 - sys.bounds()
doesn't do what I want.
您可以通过调整 repulsion/stiffness/friction 来解决这个问题 - 在这种情况下最简单,通过将摩擦力从 0.5 增加到 0.6 将使您在中心节点周围有 40 个项目。
在 Arbor.js 可视化中有 30 多个节点链接到父节点,父节点在集群的相对两侧之间摆动 - gif。
可通过 this repo 重现 - 检查一下,启动本地服务器 (python -m SimpleHTTPServer 8080
),然后将您的网络浏览器指向 localhost:8080
。
图表在 30 个节点时稳定,在 35 个节点时不稳定但仍然集中,在 40 个节点时完全不稳定。
我认为这是因为,当父节点在集群中心之外时,所有子节点的 "pull" 将它拉得很厉害,以至于在下一个 "tick" 上,它位于对面的集群之外。我想这可以通过限制可以施加在单个节点上的总力或节点可以在单个滴答中移动的最大距离来解决 - 但我不知道该怎么做 - sys.bounds()
doesn't do what I want.
您可以通过调整 repulsion/stiffness/friction 来解决这个问题 - 在这种情况下最简单,通过将摩擦力从 0.5 增加到 0.6 将使您在中心节点周围有 40 个项目。