Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

d3.js: suggested node position in force layout

I would like to create a graph where nodes have suggested positions, but I would also like to use the force layout to ensure the nodes themselves don't overlap. Is this possible in d3?

like image 441
duckworthd Avatar asked Jul 09 '12 15:07

duckworthd


1 Answers

Yes, you can do this by:

  • Disabling the default gravity and charge forces.
  • Implementing collision detection.
  • Implementing "custom" gravity that attracts each node to its suggested position.

Here's a live example:

  • http://bl.ocks.org/1804919

Similar techniques were used in Shan Carter's visualization of Obama's 2013 budget proposal, which are further discussed in a tutorial by Jim Vallandingham.

like image 169
mbostock Avatar answered Nov 18 '22 06:11

mbostock