我希望能够过滤 csv 数据以用于一系列动态饼图。(即,将向用户呈现初始饼图,并且将能够单击特定的饼楔/类别以拉出另一个饼图,显示该类别的详细信息)。
这是相关代码,将在“更新”函数中以“选定”变量作为输入来调用:
d3.csv("budget.csv", function(i,data) {
var csv = data.filter(function(row) {
return row["category"] == selected});
var g = revenue.selectAll(".arc")
.data(pie(csv))
.enter().append("g")
.attr("class", "arc");
g.append("path")
.attr("d", arc)
//This doesn't work
.style("fill", function(d) { return color(d.csv.name); });
颜色、弧线和饼图以前(成功地)用 scale.ordinal、svg.arc 和 layout.pie 定义。
上面的代码几乎可以工作——但没有正确地得到饼图的填充颜色。当我在最后一行使用d.data.name时(见下文),代码工作正常。有人可以向我解释为什么吗?
//This works
.style("fill", function(d) { return color(d.data.name); });
这可能是不言而喻的,但通常的警告 [d3 的新功能] 和道歉 [对不起,如果这很明显] 适用。谢谢!安娜