javascript - 重绘 d3 力布局而不移动节点

标签 javascript graph d3.js force-layout

我目前正在使用 d3 进行有趣的交互式导航,其中每个节点都是我网站上的一个位置。希望当调整窗口大小或用户拖动节点时,用户可以享受到导航交互的乐趣。

问题是,单击节点后,我想更改该节点以指示哪个节点当前处于“事件”状态。但是,每当我调用力布局上的绘图来引发修改时,力布局就会“摆动”并重新计算所有节点的位置。有没有一种简单的方法可以更改节点而不更改其位置或重新计算其位置?

最佳答案

我用以下代码片段解决了类似的问题:

if (force.alpha() == 0) {
    force.start();
    force.stop();
}

if 语句可防止图形布局在完成之前停止。您可以在将新样式和属性应用到节点后调用此函数。

关于javascript - 重绘 d3 力布局而不移动节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429359/

相关文章:

javascript - 在谷歌图表和 amcharts4 之间没有得到相同的图表

javascript - Django staticfiles 和 CSS 和 javaScript

javascript - Jasmine 测试用例的剑道 UI 问题

c++ - 使用C++和MFC进行动态图绘制

C#算法搜索两个顶点之间的所有路径

html - 删除使用 d3 创建的表中的列空间

javascript - 我应该从 MooTools 转换为 jQuery 吗?

graph - 我的 TreeMap 的 Arangodb 自定义过滤器/访问者

javascript - D3.js 旋转垂直条形图标签

svg - 使用 d3 获取 inkscape 属性