D3.js:使用force布局的(当前)标准方式是什么?

D3.js:使用force布局的(当前)标准方式是什么?,d3.js,idioms,D3.js,Idioms,可通过以下步骤实现图形上的强制布局: 将图形绑定到力布局: var force = d3.layout.force() .gravity(.03) .charge(-400) .distance(150) .nodes(data.nodes) .links(data.links) .size([600, 400]); 为模拟步骤定义勾号函数: force.on("tick", function(e) { vis.selectAll("circle") .attr

可通过以下步骤实现图形上的强制布局:

将图形绑定到力布局:

var force = d3.layout.force()
  .gravity(.03)
  .charge(-400)
  .distance(150)
  .nodes(data.nodes)
  .links(data.links)
  .size([600, 400]);
为模拟步骤定义勾号函数:

force.on("tick", function(e) {
  vis.selectAll("circle")
  .attr("px", function(d) { return d.x; })
  .attr("py", function(d) { return d.y; });
  ...
启动、运行和停止力:

force.start();
for (var i = 0; i > 1000; i++) force.tick();
force.stop();
但是,根据文档()力与
d3.forceSimulation
simulation.tick()
simulation.nodes
等一起使用

我使用武力的方式不受欢迎吗


如果是,首选的标准方法是什么?根据标准,我的示例看起来如何?

d3.forceSimulation是D34.0上的新方法。
d3.layout.force
是D33.x的方法。
d3.forceSimulation
是D34.0的新方法。
d3.layout.force
是d3.x的方法。

是,不推荐使用。新版本4.0不向后兼容。新版本4.0甚至比3.0更好…是的,已弃用。新版本4.0不向后兼容。新版本4.0甚至比3.0更好…我的代码示例如何转换成新的方式?我的代码示例如何转换成新的方式?