我有一个包含大约 600 个节点的图表。一段时间后,d3.layout.force() 收敛。如何显示节点的 (x,y) 坐标,以便我可以将它们存储为数据并将它们用作缓存布局,如 this answer 中所述?答案可能很简单,因为我是 javascript 的新手。
最佳答案
力布局收敛后,可以遍历节点列表获取当前坐标:
var force = d3.layout.force().nodes(nodes);
// after convergence
var positions = nodes.map(function(d) { return [d.x, d.y]; });
这里假设你的浏览器支持map
,如果不支持请看here .
您当然可以在每次报价时运行它并每次都保存结果;这让您无需弄清楚布局何时收敛。
关于d3.js - 记录聚合 D3 力布局中节点的 x、y 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402151/