d3.js v7 相当于 d3.scale.ordinal()
d3.js v7 equivalent of d3.scale.ordinal()
d3.scale.ordinal() 的 d3.js v7 等价物是什么?我如何将它用于颜色范围?
在 v3.5.11 中我可以使用:
var colourScale = d3.scale.ordinal()
.domain(["One", "Two", "Three"])
.range(["#abacab", "#b67a4e", "#5a6fbb"])
nodeUpdate.select("circle")
.attr("r", 6.5)
.attr("fill-opacity", "0.7")
.attr("stroke-opacity", "1")
.style("fill", function(d) {
return (typeof d._children !== 'undefined') ? (colourScale(findParent(d))) : '#FFF';
})
.style("stroke", function(d) {
return colourScale(findParent(d));
});
我看到了使用 InternMap as part of the changes for v7 的参考,但不清楚这是否会替换 scale.ordinal(以及后续版本 scaleOrdinal 和 scaleBand)以及它在上面的使用方式。
d3.scale.ordinal()
在 v4. Examples here.
中更改为 d3.scaleOrdinal
所以现在你可以把上面的写成:
const colourScale = d3.scaleOrdinal()
.domain(["One", "Two", "Three"])
.range(["#abacab", "#b67a4e", "#5a6fbb"])
Working Codesandbox running v7 here.
希望对您有所帮助! ✌️
d3.scale.ordinal() 的 d3.js v7 等价物是什么?我如何将它用于颜色范围?
在 v3.5.11 中我可以使用:
var colourScale = d3.scale.ordinal()
.domain(["One", "Two", "Three"])
.range(["#abacab", "#b67a4e", "#5a6fbb"])
nodeUpdate.select("circle")
.attr("r", 6.5)
.attr("fill-opacity", "0.7")
.attr("stroke-opacity", "1")
.style("fill", function(d) {
return (typeof d._children !== 'undefined') ? (colourScale(findParent(d))) : '#FFF';
})
.style("stroke", function(d) {
return colourScale(findParent(d));
});
我看到了使用 InternMap as part of the changes for v7 的参考,但不清楚这是否会替换 scale.ordinal(以及后续版本 scaleOrdinal 和 scaleBand)以及它在上面的使用方式。
d3.scale.ordinal()
在 v4. Examples here.
d3.scaleOrdinal
所以现在你可以把上面的写成:
const colourScale = d3.scaleOrdinal()
.domain(["One", "Two", "Three"])
.range(["#abacab", "#b67a4e", "#5a6fbb"])
Working Codesandbox running v7 here.
希望对您有所帮助! ✌️