着色DC.JS等值线图

时间:2015-12-21 20:24:13

标签: d3.js graph dc.js choropleth graph-coloring

尝试着色DC.JS等值线图。默认的colorAccessor无法正常工作,我无法让工作正常。任何帮助都将是巨大的。我觉得有些自定义缩小功能是必要的,但我不太确定如何或在哪里。

http://codepen.io/MichaelArledge/pen/vLKZzE?editors=001

      chart.width(c_w)
                .height(c_h)
                .dimension(zip_code_dim)
                .group(zip_totals)
                .projection(projection)
                .colorAccessor(function(d){ console.log(d);  return d.value;  })
                .overlayGeoJson(statesJson.features ,"zip_area");

1 个答案:

答案 0 :(得分:3)

您没有定义overlayGeoJson函数从哪里获取值

您的定义如下:

overlayGeoJson(statesJson.features ,"zip_area");

应该是

 .overlayGeoJson(statesJson.features ,"zip_area", 
function(d){ return d.properties.zip})

现在b'coz上面的函数返回邮政编码,因此d.value将为undefined

.colorAccessor(function(d){ return d.value;  })

应该是

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

我已经为颜色定义了一个线性刻度,它的值应该从colorAccessor函数返回。

  var colors = d3.scale.linear().range(["#E2F2FF", "#C4E4FF", "#9ED2FF", "#81C5FF", "#6BBAFF", "#51AEFF", "#36A2FF", "#1E96FF", "#0089FF", "#0061B5"]);

完整的工作代码here

希望这有帮助!