mrk*_*b80 6 d3.js force-layout
我正在尝试创建一个重新集中点击的力图.
我是以此为基础:

我试图调整点击功能来设置,d.fixed=true并为d.x和分配固定点d.y.
但是,我需要转向d.fixed=false所有其他节点.此外,节点在点击时不会转换到中心.
我的问题是如何将所有其他固定属性设置为false,然后使用新中心重绘力图?
我在这里准备了一个例子:

点击功能非常简单:
function click(d) {
d.fixed=true;
d.x=10;
d.y=10;
update();
}
Run Code Online (Sandbox Code Playgroud)
我尝试将此添加到函数中:
root.forEach(function (d) { d.fixed = false; });
Run Code Online (Sandbox Code Playgroud)
您可以使用force.nodes()和迭代来访问节点以将fixed属性设置为false.
force.nodes().forEach(function(d) { d.fixed = false; });
Run Code Online (Sandbox Code Playgroud)
然后更新图表.我在这里分叉你的例子,并添加了一个双击监听器,重启强制布局.问候,
| 归档时间: |
|
| 查看次数: |
2449 次 |
| 最近记录: |