d3.js zoomable circle packing:更改特定圆的半径

时间:2015-12-09 22:54:30

标签: d3.js

我正在使用Mike Bostock的示例Zoomable Circle Packing,我尝试更改某些圆圈的半径,这些圆圈由类型" secteur"在数据集中。

为此,我尝试使用以下行:

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

示例可用here

即使没有按基准类型过滤(我试图删除.filter部分),该线似乎对任何半径都没有影响,我在控制台中没有看到任何变化。

我不明白为什么,如果有的话,我会很感激见解

谢谢

1 个答案:

答案 0 :(得分:1)

您的zoomTo功能在使用过滤器设置后再次设置半径。

你打电话:

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

其中:

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