【问题标题】:Not able to fix x and y position in sigma js无法修复 sigma js 中的 x 和 y 位置
【发布时间】:2015-05-18 01:22:06
【问题描述】:
我尝试在圆形布局中绘制图形。我已给出节点的 x 和 y 位置,如下所示
X=Math.cos(Math.PI*(u)/l)*R
Y=Math.sin(Math.PI*(u)/l)*R
其中 u 是增量器,l 是节点数,R 是半径。
方程似乎是正确的。问题是图形向左侧倾斜。
对于一个简单的图形也(对于两个节点)边缘不在水平位置,
我认为 x 和 y 的位置在其他一些函数调用(sigma 库)中发生了变化
任何人都可以在这方面帮助我
【问题讨论】:
标签:
javascript
sigma.js
sigma-grid-control
【解决方案1】:
我遇到了类似的问题,但@logisima 的回答并没有解决我的问题。
有时,此问题可能是节点密钥的结果。 图节点应该有唯一的键。
确保您的密钥是唯一的
const allNodes = [{
key: '1' // UNIQUE,
name: 'anyname 1',
label: 'LABEL1',
x: Math.random() * 2 // LENGTH OF ALL NODES,
y: Math.random() * 2 // LENGTH OF ALL NODES,
},
{
key: '2' // UNIQUE,
name: 'anyname 1',
label: 'LABEL1',
x: Math.random() * 2 // LENGTH OF ALL NODES,
y: Math.random() * 2 // LENGTH OF ALL NODES,
}]
【解决方案2】:
在 sigma.js 中的 animate.html 示例中,有一个 'circle graph' 的示例。
正确的公式是:
circular_x: L * Math.cos(Math.PI * 2 * i / N ),
circular_y: L * Math.sin(Math.PI * 2 * i / N ),
在哪里
如果我使用这段代码,并生成一个由两个节点组成的图,边是水平的。
我使用的是 sigma v1.0.3