2012-04-23 52 views
2

我在D3中使用强制定向布局来抓取JSON文件中的数据,然后在双击其中一个节点时查询数据库以查找链接到该节点并更新试图将新数据附加到该节点的链接和节点阵列。看起来,当节点没有链接时,它们工作正常,但到xy坐标的链接最终为NaN。你可以在这里看到效果,对其中一个节点只需要双击:通过重写代码遵循强制定向布局NaN附加在D3.js

http://blockses.appspot.com/2432083

回答

7

我解决了这个力导向与博斯托克追加例子。当你覆盖你的节点和链接数组而不是将数据推送给它们时,这个问题似乎就会发生,以防有人遇到类似的问题。

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

http://blockses.appspot.com/2432083

+3

只是任何人谁都有这个问题,一直在增加链接之前停止的布局。内部刻度计算使用其他数组,假定其长度与链接相同。在计算新链接时,内部状态将是'未定义的',并且'NaN'将被传播到新链接的源节点和目标节点的'd.x'和'd.y'。当你调用'force.start()'时,所有这些都会重新对齐,所以为了确保在发生任何滴答之前完成这个操作,在添加数据之前停止布局。 – 2015-04-28 15:00:16