vij*_*jay 9 javascript graph-layout d3.js force-layout
如何在D3.js中的强制定向布局中关联LinkDistance和LinkStrength?我假设他们是,如果我错了,请纠正我.
我知道linkDistance定义了任何节点对之间的长度,并且在力布局中基本上用作约束.但是linkStrength扮演什么角色?D3.js的API文档将其定义为"在[0,1]范围内指定值的链接的强度(刚性)""刚性"在这里的含义是什么?
您可以将链接距离视为预期距离,将强度视为每次迭代时希望达到此目标距离的速度.
l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;
Run Code Online (Sandbox Code Playgroud)
该算法是一种优化算法,因此,在您修改的每次迭代中l.现在的问题是你必须指定修改它的程度.
在基本算法上,您可以使用以下内容来优化距离:
l = ((l = Math.sqrt(l)) - distances[i]) / l;
Run Code Online (Sandbox Code Playgroud)
但是,您可能希望对每个链接以及每个链接进行更多控制.因此,您可以将alpha属性视为固定参数,将strength属性视为每个链接的参数.
如果您想了解更多关于所用优化方法的信息,我建议您查看Gauss-Seidel维基百科页面.
| 归档时间: |
|
| 查看次数: |
2131 次 |
| 最近记录: |