我正试图从条形图中过滤我的等值线图表上的数据。奇怪的是,它从附带的条形图中选择一个条形图时没有显示正确的值。
以下是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工具进行了验证,他们的地图图表正确地显示了数据。
这可能是直流等值的一个问题吗?
谢谢。 Anmol
答案 0 :(得分: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!