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

时间:2016-10-15 10:11:29

标签: 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("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();

但是,根据文档(https://github.com/d3/d3-force)强制与d3.forceSimulationsimulation.tick()simulation.nodes等一起使用。

我的武力使用方式是否已被弃用?

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

1 个答案:

答案 0 :(得分:0)

The d3.forceSimulation is the new way on D3 4.0. The d3.layout.force is the method for D3 3.x.