首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D3-力-更快的节点稳定化和弹丸中元素的转移

D3-力-更快的节点稳定化和弹丸中元素的转移
EN

Stack Overflow用户
提问于 2018-12-10 21:46:59
回答 1查看 96关注 0票数 0

我已经实现了以下版本的力图,以显示节点在集群间的移动。

https://jsfiddle.net/Edwig_Noronha/67ey5rz0/

节点被分组到四个集群中。在力图的第一次初始化结束后,我调用一个函数将节点从源集群转移到目标集群。

代码语言:javascript
复制
function moveNodes() {        
        Object.keys(inputdata).forEach(function(key, index) {
            svg.selectAll("circle.viewernodes" + index)
                .each(function(d) {
                    d.type = d.destination;
                });
        });
        viewersTransitioned = true;
        force.start();
    }

然而,力图的第一次初始化的稳定大约需要35秒。因此,转换发生在这么长的时间之后。

Q1)有没有可能通过碰撞检测实现力图更快的稳定?

节点从源集群到目标集群的转换沿线性路径发生。

Q2)有没有可能让节点沿着射弹路径移动?

EN

回答 1

Stack Overflow用户

发布于 2018-12-10 22:10:12

根据我的经验,要实现更快的稳定,你可以做两件事中的一件。

将节点X和Y的值设置为接近其最终/目标state

例如nodesider.x= 500等,然后调用模拟开始。

这在某种程度上违背了您试图在示例中显示的目的,除非您不希望节点一开始就显示为移动到组中而只是在组中……

  1. Stronger force

使移动/拉动节点的力更强。这将要求您对此示例的方法进行本质上的根本更改。不只是变换它们的位置,而是在力布局中创建自定义力,这些力仅根据节点的属性影响相应的节点。把这些力放在你的“排序圆”的中心,它们会适当地吸引节点。

在这里可以看到类似下面这样的内容:https://bl.ocks.org/mbostock/1021841

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53707028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档