4

几天前我曾问过这个问题,但我认为除了 paxRoman 之外的任何人都没有真正弄清楚我在问什么,因为没有一个例子很难描述。

然而,我们确实设法找出可能是我的问题,并且我设法将代码放在 bl.ocks.org 上,这样您就可以看到我的意思的示例!

这是示例: http ://bl.ocks.org/3020018

每次刷新数据(在本例中,只是从 json 文件中读取),所有节点都会重新创建并重新添加到绘图中。

我想要发生的事情

我希望节点在不移动的情况下更新。

如果新数组中存在一个新节点,它应该像现在一样出现,如果前一个数组中存在某些东西但新数组中没有,它应该简单地消失。

正如您在示例中看到的那样,这不是正在发生的事情,我无法弄清楚过去一周的原因。

所以我的问题是:

我实际上做错了什么?是我缺少链接吗?问题是什么?我们两个昨天花了一个多小时看这个,但无法理解,我已经花了一个星期的时间,但没有太大进展:/

我的旧问题/帖子仍然存在,但它的表述很糟糕,我没有例子可以展示。

谢谢你帮助我:)

4

2 回答 2

3

所以,我很确定我已经解决了我的大部分问题!

归结为我在更新数据时如何添加/修改节点。我完全忘记了 x/y 和类似属性,因为我自己没有设置它们,所以每次更新数据时我都会添加“新”对象,即使它们实际上并不是新的。

使用一些 jQuery 魔法,$.extend()我已经让它工作了,但每当我更新数据时它仍然会轻微移动/脉动。

我更新了要点以显示更改。http://bl.ocks.org/3020018

我仍然想消除那个小脉动,所以如果你有任何想法,请告诉我:)

于 2012-07-02T12:13:34.447 回答
0

您是否尝试过设置摩擦参数(在哪里设置了链接距离和电荷)?将其设置为 0.9 将加快找到最终位置,因为我认为如果未设置它默认为 1。它只是添加的一个案例

.friction(0.9) // or any suitable value closer to 0 - have a play!

希望有帮助

于 2015-09-23T15:16:46.667 回答