mariella cc
mariella cc

Reputation: 15

d3.js zoomable circle packing: change radius for specific circles

I am using the example Zoomable Circle Packing by Mike Bostock and I try to change the radius of some circles, which are identified by the type "secteur" in the dataset.

To do that, I tried to use the following line:

circle.filter(function(d) { return d.type === "secteur"; }).attr("r", function(d) { return d.r * 1.5 ; });

The example is available here.

Even without filtering by datum type (I tried to remove the .filter part) the line seems to have no effect on any radiuses, I didn't see any changes in the console.

I do not understand why, and I would appreciate insights if any

Thank you

Upvotes: 1

Views: 172

Answers (1)

Mark
Mark

Reputation: 108517

Your zoomTo function set's the radius again after you set it with your filter.

You call:

zoomTo([root.x, root.y, root.r * 2 + margin]);

Which does:

circle.attr("r", function(d) { return d.r * k; });

Upvotes: 1

Related Questions