1 回答

TA贡献1772条经验 获得超8个赞
自问自答。
原来我把上面代码中的变量i的含义弄错了,i是colorData的索引号,不是colorSchemes的索引号。
下面的更正后的代码:
let colorData = [1, 2, 3, 4, 5, 6, 7, 8];
let colorSchemes = [
d3.scaleOrdinal(d3.schemeCategory10),
d3.scaleOrdinal(d3.schemeAccent),
d3.scaleOrdinal(d3.schemePaired),
d3.scaleOrdinal(d3.schemePastel1),
d3.scaleOrdinal(d3.schemeDark2),
d3.scaleOrdinal(d3.schemeSet1)
];
// here ignore some code about "svgs"
svgs.each(function (d, schemeIndex) {
d3.select(this)
.selectAll("circle")
.data(colorData)
.enter().append("circle")
.attr("fill", (d, i) => {
let scheme = colorSchemes[schemeIndex];
return scheme(d);
});
});
添加回答
举报