【问题标题】:DC.js Choropleth filtering IssueDC.js Choropleth 过滤问题
【发布时间】:2015-03-25 21:22:29
【问题描述】:

我正在尝试从条形图中过滤我的等值线图表上的数据。奇怪的是,从随附的条形图中选择条形时,它没有显示正确的值。

这里是 jsfiddle:https://jsfiddle.net/anmolkoul/jk8LammL/ 脚本代码从第 4794 行开始

如果我从条形图中选择 WIN004,它应该只突出显示五个状态,并且工具提示应该反映数据的值。突出显示不存在 WIN004 的某些州。

我改变了等值线的属性

.colors(d3.scale.quantize().range(["#F90D00", "#F63F00", "#F36F01", "#F09E01", "#EDCB02", "#DDEA03", "#ADE703", "#7EE404", "#50E104", "#24DE05", "#05DB11"]))
.colorDomain([-1, 1])

.colors(d3.scale.linear().range(["green", "white", "red"]))
 .colorDomain([-2, 0, 2])

但是我得到了很多白色的州,很难辨别突出显示的内容。一些白化状态的工具提示显示-0.00:/ 这是小提琴http://jsfiddle.net/anmolkoul/jk8LammL/1/

所以我猜要么是我的颜色范围有问题,要么是我的数据是如何被解析的。

理想情况下,我希望根据 riskIndicator 维度的顶部和底部值指定 .colorDomain 中的数据范围。我的功能虽然不起作用。我应该在这里使用 d3.max 还是 riskIndicator.top?

编辑: 我通过使用最小值和最大值获得了动态颜色域,但图形仍然没有按预期执行?这可能是 geochoropleth 图表的问题吗?我进一步采用了一个有效的 geochoropleth 示例并将我的数据移植到它,甚至这给了我同样的问题,即错误地表示数据。我认为这可能是一个数据问题,但我使用几个好的 BI 工具进行了验证,他们的地图正确显示了数据。

这可能是 dc choropleth 的问题吗?

谢谢。 安莫尔

【问题讨论】:

    标签: dc.js


    【解决方案1】:

    这与此问题中的问题具有相同的根本原因:

    Crossfilter showing negative numbers on dc.js with no negative numbers in the dataset

    简而言之,浮点数在相加和相减时并不总是抵消为零。这个“假组”将确保它们在靠近时捕捉到零:

    function snap_to_zero(source_group) {
        return {
            all:function () {
                return source_group.all().map(function(d) {
                    return {key: d.key, 
                            value: (Math.abs(d.value)<1e-6) ? 0 : d.value};
                });
            }
        };
    }
    

    已添加to the FAQ

    【讨论】:

    • 戈登再次获胜。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 2020-12-31
    • 1970-01-01
    相关资源
    最近更新 更多