Javascript 气泡图颜色(按父类)

Javascript 气泡图颜色(按父类),javascript,css,d3.js,Javascript,Css,D3.js,我正在看迈克·博斯托克的气泡图:它使用圆形包装。但是,我希望能够根据包含类的名称为圆着色 我正在JSBin中尝试: 我的错在这里: node.append("circle") .attr("r", function(d) { return d.r; }) .style("fill", function(d) {return color(d.data.name);}); 谢谢 有点像这样: 您可以获取绑定到父级的数据 d.parent.data.name 。。。然后根据它给圆

我正在看迈克·博斯托克的气泡图:它使用圆形包装。但是,我希望能够根据包含类的名称为圆着色

我正在JSBin中尝试:

我的错在这里:

node.append("circle")
    .attr("r", function(d) { return d.r; })
    .style("fill", function(d) {return color(d.data.name);});
谢谢

有点像这样:


您可以获取绑定到父级的数据

d.parent.data.name
。。。然后根据它给圆上色,首先检查是否存在父对象:

node.append("circle")
    .attr("r", function(d) {
        return d.r;
    })
    .style("fill", function(d) {
        if (d.parent) {
            return color(d.parent.data.name)
        };
    });

这是您更新的垃圾箱:

这很好,但它看起来仍然有名字的颜色……或者我遗漏了什么。我希望孩子们都是同样的颜色,但只有他们自己的叶子。因此,如果有一个“蓝色”的圆圈,它包含了较小的一个,但里面没有一个小圆圈有自己的孩子,那么它们都是相同的颜色。请看上图,就是这样。我真的需要学习一些JS…谢谢你的回答!