3

我有一个包含大约 600 个节点的图表。一段时间后,d3.layout.force() 收敛。如何显示节点的 (x,y) 坐标,以便我可以将它们存储为数据并将它们用作本答案中描述的缓存布局?答案可能很简单,因为我是 javascript 的新手。

4

1 回答 1

3

力布局收敛后,您可以遍历节点列表以获取当前坐标:

var force = d3.layout.force().nodes(nodes);

// after convergence
var positions = nodes.map(function(d) { return [d.x, d.y]; });

这假设你的浏览器支持map,如果没有看到这里

当然,您可以在每次滴答时运行它并每次保存结果;这可以帮助您弄清楚布局何时收敛。

于 2013-05-06T15:46:13.480 回答