gpt4 book ai didi

d3.js - 使用根节点标记后的中心力定向布局(返回中心)

转载 作者:行者123 更新时间:2023-12-04 17:55:23 25 4
gpt4 key购买 nike

我正在尝试使用 D3.js 进行强制定向布局。我需要的是将布局按根(或其他选定节点)居中,并在刻度函数完成后将此节点返回到 svg(例如 Canvas )中心(图形 alpha 低)。是否可以?我找到了一个例子

http://bl.ocks.org/1080941

但我无法使根(使用 aplha 或其他自定义刻度函数计算时)返回中心(此特定节点使布局居中)。

任何帮助,将不胜感激。

最佳答案

实际上我是这样解决的(类似于以前但更复杂):

force.on("tick", function(e) {

node.attr("transform", function(d) {
//TODO move these constants to the header section
//center the center (root) node when graph is cooling down
if(d.index==0){
damper = 0.1;
d.x = d.x + (w/2 - d.x) * (damper + 0.71) * e.alpha;
d.y = d.y + (h/2 - d.y) * (damper + 0.71) * e.alpha;
}
//start is initiated when importing nodes from XML
if(d.start === true){
d.x = w/2;
d.y = h/2;
d.start = false;
}

r = d.name.length;
//these setting are used for bounding box, see [http://blockses.appspot.com/1129492][1]
d.x = Math.max(r, Math.min(w - r, d.x));
d.y = Math.max(r, Math.min(h - r, d.y));

return "translate("+d.x+","+d.y+")";

}
);

});

关于d3.js - 使用根节点标记后的中心力定向布局(返回中心),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9362894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com