DC.js 等值线过滤问题
DC.js Choropleth filtering Issue
我正在尝试从条形图中过滤我的等值线图上的数据。奇怪的是,它没有在 selecting 随附条形图中的条形图上显示正确的值。
这是 jsfiddle: https://jsfiddle.net/anmolkoul/jk8LammL/
脚本代码从4794行开始
如果条形图中的 select 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 :/
这里是fiddlehttp://jsfiddle.net/anmolkoul/jk8LammL/1/
所以我想要么是我的颜色范围有问题,要么是我的数据被解析的方式有问题。
理想情况下,我希望根据 riskIndicator 维度的顶部和底部值指定 .colorDomain 中的数据范围。虽然我的功能不起作用。我应该在这里使用 d3.max 还是 riskIndicator.top?
编辑:
我通过使用最小值和最大值获得了动态色域,但图形仍然没有按预期执行?这可能是地理分布图的问题吗?我进一步采用了一个有效的 geochoropleth 示例并将我的数据移植到它,甚至这给了我同样的问题,即错误地表示数据。我认为这可能是数据问题,但我使用了几个优秀的 BI 工具进行了验证,并且它们的图表正确显示了数据。
这可能是直流等值线的问题吗?
谢谢。
安摩尔
这与此问题中的问题具有相同的根本原因:
简而言之,浮点数在加减时并不总是抵消为零。 "fake group" 将确保它们在靠近时迅速归零:
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!
我正在尝试从条形图中过滤我的等值线图上的数据。奇怪的是,它没有在 selecting 随附条形图中的条形图上显示正确的值。
这是 jsfiddle: https://jsfiddle.net/anmolkoul/jk8LammL/ 脚本代码从4794行开始
如果条形图中的 select 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 :/ 这里是fiddlehttp://jsfiddle.net/anmolkoul/jk8LammL/1/
所以我想要么是我的颜色范围有问题,要么是我的数据被解析的方式有问题。
理想情况下,我希望根据 riskIndicator 维度的顶部和底部值指定 .colorDomain 中的数据范围。虽然我的功能不起作用。我应该在这里使用 d3.max 还是 riskIndicator.top?
编辑: 我通过使用最小值和最大值获得了动态色域,但图形仍然没有按预期执行?这可能是地理分布图的问题吗?我进一步采用了一个有效的 geochoropleth 示例并将我的数据移植到它,甚至这给了我同样的问题,即错误地表示数据。我认为这可能是数据问题,但我使用了几个优秀的 BI 工具进行了验证,并且它们的图表正确显示了数据。
这可能是直流等值线的问题吗?
谢谢。 安摩尔
这与此问题中的问题具有相同的根本原因:
简而言之,浮点数在加减时并不总是抵消为零。 "fake group" 将确保它们在靠近时迅速归零:
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!