d3.timer(force.resume);
Mike
You still need to call force.start() whenever you change the
definition of nodes and links.
> So, do I need to call d3.timer(force.resume); right after I create the
> force or every time I update the data?
Calling force.resume() resets the cooling parameter alpha. It makes
sure that the force layout's internal timer is still running. Calling
d3.timer(force.resume) repeatedly calls force.resume(), about every 20
ms depending in your frame rate. You only need to create the timer
once, and your graph will perpetually stay "hot".
Mike
The force layout should initialize starting positions for you
automatically. Can you use that (and just delete the corresponding
part of your code)?
Mike