dc.js 更改分区图中未定义数据的默认颜色

dc.js Change default color for undefined data in choropleth map

我将 dc.js 用于 dc.geoChoroplethChart() 的等值线图。以前使用 colorCalculator(),我可以为空数据设置默认颜色。

chart.colors(colorScale)
     .colorCalculator(
         function (d) { 
             return d === undefined ? '#ddd' : zipChart.colors()(d);
         })

日志显示 colorMixin.colorCalculator 已被弃用,并告诉我改用 colorMixin.colorscolorMixin.colorAccessor。 我试了一下:

chart.colors(colorScale)
     .colorAccessor(function (d) {return d;})

地图仍然有效,但未定义数据的默认颜色现在为黑色。只有几个documentation。我怎样才能像没有colorCalculator一样改变它?

弃用 colorCalculator 函数是一个错误,很快就会删除警告。

https://github.com/dc-js/dc.js/issues/1493

我不喜欢函数的实现方式,当时我认为函数可以做的所有事情都可以用scales来完成,但是这种东西写一个函数简单多了。

有时特殊情况是处理规则例外的最佳方式!

或者,如果您使用的是连续色标或有序色标,则可以使用 .unknown(),这是一种更清洁的解决方案。