fkling/JSNetworkX

How to update/redraw graph?

Opened this issue · 2 comments

I'm trying to make a dynamic graph that updates every few seconds.
What I'd ideally want is something like this:

    var G = new jsnx.Graph();

    G.addNode(0);
    jsnx.draw(G, {
        element: '#canvas',
        weighted: true,
        edgeStyle: {
            'stroke-width': 10
        }
    });

    var i = 1;
    setInterval(function () {
      G.addNode(i);
      i++;
      jsnx.redraw();
    }, 2000);

But I get a Uncaught TypeError: jsnx.redraw is not a function error.
Otherwise I have to draw() every time I update the graph, which doesn't look good at all...

Anyone know a way to do this?

Actually just figured it out.

* @param {?boolean=} optBind Set to true to automatically update
says that if you add a true option to .draw(), it'll automatically update the graph:

    jsnx.draw(G, {
        element: '#canvas',
        weighted: true,
        edgeStyle: {
            'stroke-width': 10
        }
    }, true
);

Maybe the website should include this to help people who are just getting started with JSNetworkX