gpt4 book ai didi

d3.js - 平静力量布局的初始刻度

转载 作者:行者123 更新时间:2023-12-02 15:43:59 25 4
gpt4 key购买 nike

我刚刚开始涉足 d3,发现学习曲线相当陡峭。这个过程与我习惯的完全不同,而且数学大多超出了我的理解范围。

无论如何,我的项目由一个代表系统之间集成 map 的力布局组成。这部分效果非常好,但我确实有一个主要问题,这也体现在 Michael Bostocks 网站上的力导向布局演示中:当节点启动时,它们似乎是从 Canvas 上渲染出来的。此后,一些严肃的物理数学开始接管,模拟引力,使节点在一条相当困惑的路径上来回移动,直到它们平静下来并确定一些随机坐标。尽管第一次运行演示时这些 Action 非常酷,但当您尝试从公司管理员的角度查看网络接口(interface)的状态并且服务器不会保持静止时,一段时间后就会变得令人厌烦。

我确信我对该项目有正确的布局设置,因为我确实希望服务器自动布局,我确实希望可视化它们之间的链接。然而,我对万有引力效应持矛盾态度。

我想知道;是否可以手动设置每个节点的初始位置,以便我可以将它们放在更靠近重心的位置并稍微缩短“弹跳时间”?

最佳答案

以上所有答案都误解了 Øystein Amundsen 的问题。

稳定启动时的力的唯一方法是将node.x和node.y设置为适当的值。请注意,节点是d3.js的数据,而不是表示的DOM类型。

例如,如果您加载

nodes = [{"id": a}, {"id": b}, {"id": c}]

进入

d3.layout.force().nodes(nodes)

您必须设置节点数组中所有元素的所有 .x 和 .y它会像这样(在coffeescript中)

nodes = [{"id": a}, {"id": b}, {"id": c}]
for i in [0..2]
nodes[i].x = 500 #the initial x position of node
nodes[i].y = 300 #the initial y position of node
d3.layout.force().nodes(nodes).links(links)

那么节点将从force.start()时的位置开始。这可以避免困惑。

关于d3.js - 平静力量布局的初始刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463053/

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