首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >d3.js中的图形定位与节点定位

d3.js中的图形定位与节点定位
EN

Stack Overflow用户
提问于 2012-08-10 20:52:54
回答 1查看 2.5K关注 0票数 6

由于这个早期的question,我生成了一个静态固定布局图,如下所示,使用了d3.js中的强制布局。

我有两个具体的问题要进一步定制布局:

首先,我注意到确定地初始化节点位置(例如,在这里对角化,请参阅script中的详细信息)修复节点的位置,节点的方向似乎取决于这个初始化以及力图*的维度。我想知道如何使A, D, E, F, I图上的节点水平地对齐?换句话说,我想把图的方向逆时针旋转大约45度。我尝试在中间水平地初始化节点:

代码语言:javascript
复制
nodes.forEach(function(d, i) { d.x = w / size * i; d.y = h / 2; });

但是所产生的输出具有所有节点和边沿水平地初始化它们的位置。

第二,力图自动在svg元素中居中是真的吗?如果没有,我们怎样才能做到呢?如果是,我们如何在svg元素中指定力图的中心?

(*注意:奇怪的是,当为力图设置.size([w, h]) where w = h,并在对角线上确定地初始化节点时,所有节点和边缘都位于输出的对角线上,为什么?)

EN

回答 1

Stack Overflow用户

发布于 2014-01-17 13:59:36

尝试添加一个自定义的重力施加在每一个滴答上,它将节点拉向水平线。就像这样:

代码语言:javascript
复制
force.on('tick', function(e) {
  nodes.forEach(function(d) {
    d.y += (height/2 - d.y) * e.alpha;
  });
})

对于第二个问题,我相信,它不是中心,但在默认情况下,有一个很小的重力,它把节点拉向中心。

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

https://stackoverflow.com/questions/11909083

复制
相关文章

相似问题

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