【问题标题】:Coloring DC.JS Choropleth Charts为 DC.JS Choropleth 图表着色
【发布时间】:2015-12-21 20:24:13
【问题描述】:

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

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");

【问题讨论】:

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


    【解决方案1】:

    您没有定义从何处获取值的 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

    希望这会有所帮助!

    【讨论】:

    • 完美运行。非常感谢。一遍又一遍地重读文档,这个概念从未被点击过。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2018-12-24
    相关资源
    最近更新 更多