【发布时间】:2013-12-05 07:10:39
【问题描述】:
我正在使用力导向图在图形视图上显示拓扑数据。我写了下面的代码:
var force = d3.layout.force()
.charge(-120)
.alpha(0)
.linkDistance(65)
.gravity(0.03)
.size([width, height]);
force
.nodes(data.nodes)
.links(data.links)
.start();
当我执行代码图初始化时,我需要停止一些动作。我希望在没有任何移动的情况下在静态位置上显示图形,并且所有链接大小在图形初始化时应该相同。如果我会拖动,那么它应该会移动。 任何帮助将不胜感激......!
【问题讨论】:
-
听起来力布局不是您要寻找的应用程序。您是否考虑过其他任何布局?
-
实际上我们正在开发网络应用,所以力有向图比其他的更适合。仍然欢迎您的建议。我正在寻找这样的行为 jsfiddle.net/bTyh5/2 而我的 Jsfiddle 是这样的:jsfiddle.net/mayurchavda87/5crQv/3
-
如果你不想移动,你可以在所有节点上设置
.fixed属性。 -
如果节点设置为 .fixed,则必须手动定位节点,而不是运行强制布局。我想问题是关于使用力布局但没有动画的定位。
-
强制布局的工作方式是动态计算节点位置。如果您真的想要固定位置,则必须在所有节点上设置固定属性(如 Lars 建议)。您可以先运行布局(不显示)以计算所有节点位置并存储它们。然后在动画期间,将节点添加到各自的位置。
标签: d3.js force-layout