我有2个svg独立工作。为了从其他图表访问甜甜圈图,我已为路径分配了一个ID。 现在,当我使用d3.select-时,无论实际值如何,它仅给我每个选择的第一个元素;如果使用selectAll,它将一起提供所有数据点。
我的甜甜圈图数据如下:
var data1 = [
{name: "Group1",value: 40},{name: "Group2",value: 20},{name: "Group3",value: 30},{name: "Group4",value: 10},];
我正在像这样制作甜甜圈:
var arc = d3.arc()
.innerRadius(radius - thickness)
.outerRadius(radius);
var pie = d3.pie()
.value(function(d) { return d.value; })
.sort(null)
var path = g.selectAll('path')
.data(pie(data1))
.enter()
.append("g")
.append('path')
.attr('d',arc)
.attr('fill',(d,i) => color(i))
.attr("id","don")
.each(function(d,i) { this._current = i; });
我有一个与用于其他图表的Group相同名称的csv。当我尝试使用以下方法从外部访问此路径时:
d3.selectAll("#don")
.each(function(z){
console.log(z.data.name)
})
我得到了所有的小组。 如何唯一地选择每个路径?