如何使用d3力布局显示图表,初始位置设置且根本没有移动?

han*_*erg 8 d3.js force-layout

我使用d3 force布局来构造图形,然后将节点的位置存储在数据库中.

下次我想显示图表时,我将数据库中的位置读入节点,然后启动强制布局.

这导致布局略微移动.

我是否可以在不调用force.start()的情况下显示存储节点位置的图形?

我想要的是一个"只读"模式,以显示之前由其他人创建的稳定图形.

/汉斯

Chr*_*che 11

我建议你阅读力布局文档.真的很棒.

如您所述,您必须为每个节点设置pxpy属性.然后,您可以将属性设置fixedtrue每个节点.

这意味着计算force.start()不会产生任何影响.


您可以尝试的另一件事是将alpha值设置为0,然后开始模拟:

force.alpha(0)
    .start()
Run Code Online (Sandbox Code Playgroud)

我不确定这种方法是否有效.如果没有,请发布jsFiddle.