这是我的代码:
var legendThreshold = d3
.scaleThreshold()
.domain(
(function(min, max, count) {
var array = [];
var step = (max - min) / count;
var base = min;
for (var i = 1; i < count; i++) {
array.push(base + i * step);
}
return array;
})(minTemp, maxTemp, legendColors.length)
)
.range(["red", "white", "green"]);
我在range上遇到错误,说:
'string[]‘类型的
参数不能赋值给'readonly number[]’类型的参数
但是,如果您查看此link中的示例,我相信我的代码应该是正确的。我该如何解决这个问题?
发布于 2019-05-14 02:40:52
看起来你在和TypeScript一起工作。
您可能需要为d3.scaleThreshold()
提供泛型,以便它接受字符串。
正如DefinitelyTyped TypeScript type definitions for D3.js上所提到的,
由于您对domain
和range
都使用了字符串,因此我们可以将这两种类型都指定为string
。
d3.scaleThreshold<string, string>().domain().range()
https://stackoverflow.com/questions/56117781
复制相似问题