尝试为地图D3,js v4中的Null值指定颜色

时间:2017-10-11 20:36:53

标签: javascript d3.js mapping

我正在创建威斯康星州的地图。它看起来很棒,除了其中一个县的值为“null”,在地图上显示为0。

我手动创建了色标,但无法弄清楚如何使用null值使县变灰。

有什么想法吗?

这是我用来定义颜色的代码

    var color = d3.scaleThreshold()
        .domain([0.16,0.31,0.47,0.58,0.94,1.15,1.41,2.02,3.36,6.47])
        .range(["#f7fcf0","#e0f3db", "#ccebc5", "#a8ddb5", "#7bccc4", 
        "#4eb3d3", "#2b8cbe", "#0868ac", "#084081", "#062953"]);

我尝试在域中添加“null”并在范围中添加相应的颜色,但这没有做任何事情。

1 个答案:

答案 0 :(得分:1)

处理色阶中特殊情况的一种简单方法是不将比例直接传递给d3.attr / d3.style,而是将其包装在匿名函数中并检查:

counties
    .attr('fill', d => d === null ? 'grey' : color(d))