【问题标题】: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 ),
      

      在哪里

      • L : 是
      • 半径 i:索引 N:数字
      • 节点的r

      如果我使用这段代码,并生成一个由两个节点组成的图,边是水平的。

      我使用的是 sigma v1.0.3

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-27
        • 1970-01-01
        相关资源
        最近更新 更多