D3 force layout fix root node at the center
12,754
force.on("tick", function() {
nodes[0].x = w / 2;
nodes[0].y = h / 2;
That should do it.
Related videos on Youtube
Author by
Alfred
Updated on June 04, 2022Comments
-
Alfred almost 2 years
I managed to draw some basic d3 force layout graph, but struggling how to fix root node at the center.
My data is rather simple; one root node with one-level children. Only one level. Another particular thing about my graph is that the link distance varies based on some parameter.
I want root node to be at the center of the graph.
Setting its property 'fixed':true doesn't work. Any idea to place root node at the center?
-
FernOfTheAndes about 10 yearsExample here. Look inside force.on at the first two lines.
-
-
samuelg0rd0n almost 9 yearsIs it possible to alter the behaviour in a way that the node is initially centered but the user can still move it?
-
bryanph almost 7 yearsIn d3 4.0 this doesn't fix nodes but just sets the coordinates. To fix the node use "fx" and "fy"