我使用d3 force布局来构建图形,然后将节点的位置存储在数据库中。
下次我要显示图表时,我将数据库中的位置读入节点,然后开始强制布局。
这导致布局稍微移动。
我是否可以在不调用force.start()的情况下显示存储节点位置的图形?
我想要的是“只读”模式,以显示之前由其他人创建的稳定图表。
/汉斯
答案 0 :(得分:11)
我建议你阅读documentation of the force layout。真的很棒。
正如您所提到的,您必须为每个节点设置px
和py
属性。然后,您可以在每个节点中将属性fixed
设置为true
。
这意味着计算force.start()不会有任何影响。
您可以尝试的另一件事是将alpha值设置为0,然后开始模拟:
force.alpha(0)
.start()
我不确定这种方法是否有效。如果没有,请发布一个jsFiddle。