强制定向布局的NaN附加在D3.js中

Eli*_*jah 2 javascript layout svg d3.js force-layout

我在D3中使用强制定向布局从JSON文件中获取数据,然后在双击其中一个节点时查询数据库以查找指向该节点的链接并更新尝试追加的链接和节点数组新数据到了即.似乎在没有链接的情况下附加节点时,它们工作正常,但是到xy坐标的链接最终是NaN.你可以在这里看到效果,只需双击其中一个节点:

http://blockses.appspot.com/2432083

Eli*_*jah 8

我通过重写代码来修复此问题,以遵循来自Bostock的附加示例的强制定向.当您覆盖节点和链接数组而不是将数据推送到它们时,似乎会出现问题,以防任何人遇到类似的问题.

更新的代码在原始要点中,可以在这里看到:

http://blockses.appspot.com/2432083

  • 只有遇到此问题的人才能在添加链接之前停止布局.内部计时计算使用其他数组,假设它们与链接具有相同的长度.在计算新链接时,内部状态将是"未定义",并且"NaN"将传播到新链接的源节点和目标节点的"dx"和"dy"上.当你调用`force.start()`时,这都是重新对齐的,所以为了确保在任何滴答发生之前完成,在添加数据之前停止布局. (3认同)