根据d3打包圈的

时间:2015-06-04 05:00:37

标签: javascript d3.js callback circle-pack

我试图根据http://bl.ocks.org/mbostock/7607535的可缩放包装圆圈可视化来构建视图,并且我试图让每个容器的父颜色基于其平均值子节点'分数。

在上面,我想我想我需要改变.style:

var circle = svg.selectAll("circle")
  .data(nodes)
.enter().append("circle")
  .attr("class", function(d) { return d.parent ? d.children ? "node" : "node node--leaf" : "node node--root"; })
  .style("fill", function(d) { return d.children ? color(d.depth) : null; })
  .on("click", function(d) { if (focus !== d) zoom(d), d3.event.stopPropagation(); });

我的问题是我不太熟悉这种递归是否可以在d3中实现。我更喜欢它在线,但我的编码并不是最好的。我怀疑我可能需要编写一个单独的函数并在块中调用它,类似于:

.style("fill", function(d) { return d.children ? color(calculatingFn(d)) : d.score; })

我想问题的确是:计算Fn(d)应该是什么样的(或者其他更优雅的解决方案)?

感谢任何帮助。

0 个答案:

没有答案