8
我使用d3 force布局来构建图形,然后将节点的位置存储在数据库中。如何使用d3力布局显示图形,初始位置已设置且完全不动?
下次我想要显示图形时,我从数据库中读取位置到节点中,然后启动力布局。
这会导致布局稍微移动。
有没有我的方式来显示存储的节点位置的图形没有调用force.start()呢?
我想要的是一个“只读”模式,以显示其他人早些时候创建的稳定图形。
/Hans
我使用d3 force布局来构建图形,然后将节点的位置存储在数据库中。如何使用d3力布局显示图形,初始位置已设置且完全不动?
下次我想要显示图形时,我从数据库中读取位置到节点中,然后启动力布局。
这会导致布局稍微移动。
有没有我的方式来显示存储的节点位置的图形没有调用force.start()呢?
我想要的是一个“只读”模式,以显示其他人早些时候创建的稳定图形。
/Hans
我建议您阅读documentation of the force layout。这真的很好。
如上所述,您必须为每个节点设置px
和py
属性。然后,您可以在每个节点中将属性fixed
设置为true
。
这意味着计算force.start()不会有任何影响。
你可以尝试的另一件事是Alpha值设置为0,然后开始仿真:
force.alpha(0)
.start()
我不知道这种方法是否有效。如果没有,发布一个jsFiddle。
哦,我已经反复阅读了文档,但我只是不够聪明,不知道我应该使用fixed属性:-)。 它很好用! 谢谢! – hansbrattberg
这是正常的,不用担心。我很高兴它有帮助。如果解决了您的问题,您可以接受答案。 –