Javascript d3.scaleSequential“;插值器不是一个函数;

Javascript d3.scaleSequential“;插值器不是一个函数;,javascript,d3.js,Javascript,D3.js,我正在用D3V4和D3色标为发散的数字写一个顺序色标 以下是我的功能: var disferenceColor=函数(值、域、插值){ 变量域=域| |[0,50,100]; var theInterpolation=插值| |‘BrBg’; var scale=d3.scaleSequential() .插值器(d3[‘插值’+插值]) .域(域) .夹具(正确); 返回量表(值); }; 发散色(25) 正如我在中所说,这只是一个输入错误:它应该是BrBG,而不是BrBG,因为插值器的名

我正在用D3V4和D3色标为发散的数字写一个顺序色标

以下是我的功能:

var disferenceColor=函数(值、域、插值){
变量域=域| |[0,50,100];
var theInterpolation=插值| |‘BrBg’;
var scale=d3.scaleSequential()
.插值器(d3[‘插值’+插值])
.域(域)
.夹具(正确);
返回量表(值);
};
发散色(25)

正如我在中所说,这只是一个输入错误:它应该是
BrBG
,而不是
BrBG
,因为插值器的名称是:

var disferenceColor=函数(值、域、插值){
变量域=域| |[0,50,100];
var theInterpolation=插值| |‘BrBG’;
var scale=d3.scaleSequential()
.插值器(d3[‘插值’+插值])
.域(域)
.夹具(正确);
返回量表(值);
};
控制台日志(颜色(25))

我收到此错误消息,因为我无法导入
d3音阶彩色图像。我没有意识到它不是默认d3名称空间的一部分

基本上,我是这样开始的:

import * as d3 from 'd3';
var color = d3.scaleSequential(d3.interpolatePiYG);
解决方法是将其更改为:

import * as d3 from 'd3';
import * as d3Chromatic from 'd3-scale-chromatic';
var color = d3.scaleSequential(d3Chromatic.interpolatePiYG);

在使用
npm安装d3音阶彩色

后,这只是一个输入错误:您必须使用
BrBG
而不是
BrBG
。没有区别。我用从文档中复制粘贴的多个插值器对它进行了测试,结果是一样的。我只是用一个片段写了一个答案,检查一下。这让我发疯。谢谢你的回答!