如何手动指定缺失值的颜色是d3.jsglobe.gl

问题描述

我必须说我对Java语言(尤其是d3)非常陌生。但是,我找不到很好的答案或教程。

我正在建立globle.gl库(https://globe.gl/example/choropleth-countries)的choropleth示例,并尝试制作自己的choropleth。但是,我没有所有国家的数据。我仍然想显示所有国家/地区,但用颜色标记我没有信息的国家/地区为灰色阴影。我正在使用带有指数变换的Inferno色标来显示不同国家的值。

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颜色的一部分)而不是黑色。

非常感谢您

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)