D3.js中的弹簧力强制定向布局?

Posted

技术标签:

【中文标题】D3.js中的弹簧力强制定向布局?【英文标题】:Spring Forces in D3.js Force directed layout? 【发布时间】:2013-06-25 15:47:55 【问题描述】:

这个例子的描述:http://bl.ocks.org/mbostock/4062045(见下图),声明它是“带电粒子和弹簧的物理模拟,使相关角色更接近。”

我只是好奇该代码的哪一部分(在同一页面上)实现或定义了弹簧力,尤其是基于相关字符?

我问这个是因为我的印象是 D3.js 没有为 Force 定向布局实现弹簧力,如其 API 文档中所述:

“链接不是作为“弹簧力”实现的,这在其他力导向布局中很常见,而是作为弱几何约束。” -https://github.com/mbostock/d3/wiki/Force-Layout#wiki-linkDistance

【问题讨论】:

【参考方案1】:

在 D3 力导向布局中,弹簧力使用 gravity 方法定义,如果未设置,则默认为 0.1

查看this fiddle 您提到的同一个示例,将重力设置为0.9

linkDistance 文档中提到的“弱几何约束”将在here 进一步讨论。

“重力被实现为一个弱几何约束,类似于将每个节点连接到布局中心的虚拟弹簧 尺寸。 "

【讨论】:

ah i c...所以仍然没有弹簧力,但重力是一种类似“弹簧”的力。非常感谢!

以上是关于D3.js中的弹簧力强制定向布局?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 D3.js 中的强制布局图响应屏幕/浏览器大小

使用 d3.js 保存和重新加载强制布局

如何防止 d3.js 强制布局在恢复/重启时脉动/弹跳

消息“d3.js TypeError: n is undefined”(对于具有强制布局的 D3 世界地图)

D3.js 强制有向图,通过使边缘相互排斥来减少边缘交叉

Vue.js 和 D3.js - 力模拟