Javascript 如何手动指定缺少值的颜色是d3.js(globe.gl)choropleth

Javascript 如何手动指定缺少值的颜色是d3.js(globe.gl)choropleth,javascript,d3.js,geojson,webgl-globe,Javascript,D3.js,Geojson,Webgl Globe,我必须说,我对Javascript,尤其是d3非常陌生。然而,我找不到一个很好的答案,也找不到关于如何做到这一点的教程 我在globle.gl库()的choropleth示例的基础上进行构建,并尝试制作自己的choropleth。然而,我没有所有国家的数据。我仍然想显示所有国家,但颜色代码的国家,我没有信息的灰色阴影。我正在使用带有指数变换的地狱色阶来显示不同国家的数值 const colorScale = d3.scaleSequentialPow(d3.interpolateInferno)

我必须说,我对Javascript,尤其是d3非常陌生。然而,我找不到一个很好的答案,也找不到关于如何做到这一点的教程

我在globle.gl库()的choropleth示例的基础上进行构建,并尝试制作自己的choropleth。然而,我没有所有国家的数据。我仍然想显示所有国家,但颜色代码的国家,我没有信息的灰色阴影。我正在使用带有指数变换的地狱色阶来显示不同国家的数值

const colorScale = d3.scaleSequentialPow(d3.interpolateInferno).exponent(0.2);
后来

.polygonCapColor(feat => colorScale(getVal(feat)))
其中,
feat
是我试图绘制的国家的某种类型的特征(例如人口规模)

我正在使用R清理和转换数据,然后将其保存为.geojson文件以加载到d3.js中,并发现如果我将值保留为空(丢失),javascript代码将根本无法工作(可能是因为
d3.scaleSequentialPow(d3.interpolateInferno)
转换无法处理缺失值。要解决此问题,我将值0指定给所有缺失,但这意味着它们成为色阶的一部分,并且与非常低的值(例如1或2)无法区分。因此,我的问题是如何更改
colorScale()
,使值0变为灰色(不属于
d3.interpolateInferno
颜色的一部分)而不是黑色

多谢各位