Sigma js graph不会呈现任何内容

时间:2015-09-30 10:03:10

标签: javascript canvas sigma.js

以下代码不会呈现任何内容,也不会返回任何错误:

var sigma = require('sigma');
var i,
    s,
    N = 100,
    E = 500,
    g = {
        nodes: [],
        edges: []
    };

// Generate a random graph:
for (i = 0; i < N; i++)
    g.nodes.push({
        id: 'n' + i,
        label: 'Node ' + i,
        x: Math.random(),
        y: Math.random(),
        size: Math.random(),
        color: '#666'
    });

for (i = 0; i < E; i++)
    g.edges.push({
        id: 'e' + i,
        source: 'n' + (Math.random() * N | 0),
        target: 'n' + (Math.random() * N | 0),
        size: Math.random(),
        color: '#ccc'
    });
sigma.renderers.def = sigma.renderers.canvas;
// Instantiate sigma:
s = new sigma({
    graph: g,
    container: document.getElementById('sigma-container')
});

一些说明: 1.我已经设置了max-widthheight

#sigma-container {
  max-width: 400px;
  height: 400px;
  margin: auto;
}

2.我在Node上运行它,所以我有一个单独的js文件,它被编译并正确传递给浏览器。(至少我可以在chrome&#39的开发人员工具中看到代码)< / p>

3.我使用以下html:

<!DOCTYPE html>
<html>
  <head>
      <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <div id="sigma-container"></div>
      <script src="/javascripts/bundle.js"></script>
  </body>
</html>

4.如果不是getElementById('sigma-container')我放了div的名字,它会返回错误:Uncaught Container not found.

有关它为何不渲染的任何想法?

1 个答案:

答案 0 :(得分:3)

此拉取请求https://github.com/jacomyal/sigma.js/pull/653中已修复container not found错误,但未包含在最新版本的sigma(v1.1.0)中。我手动在github项目的主分支上构建了一个包含修复程序的副本,并解决了该问题。