DC.js 应用过滤器后热图颜色范围未更新
dc.js heatmap colour range not getting updated after filter applied
我正在使用 dc.js 来创建仪表板,该数据集包含 3 种类型的读数,从 1 年开始,每 24 小时。(在示例中,小提琴,我只使用 15 天仅用于演示目的)
这是指向JSFiddle的链接,以更好地说明我的问题 http://jsfiddle.net/table315/hLzLzhss/
我使用行图来显示每个读数的总数,并使用热图来显示每天在每次的总读数。
当从行图中选择了 1 种读数类型时,热图似乎不会重新计算色域的最小值和最大值。(热框显示浅色,即使该值是当前过滤数据集中最高的。
dayAndTimeChart
.width(30 * 24 + 500)
.height(20 * 31)
.dimension(dayAndTimeDimension)
.group(dayAndTimeGroup)
.keyAccessor(function(d) {
return d.key[0];
})
.valueAccessor(function(d) {
return d.key[1];
})
.colorAccessor(function(d) {
return d.value;
})
.colors(["#fff7ec", "#fee8c8", "#fdd49e", "#fdbb84", "#fc8d59", "#ef6548", "#d7301f", "#b30000", "#7f0000"])
.calculateColorDomain()
.title(function(d) {
return "Time: " + d.key[0] + "'n" +
"Day: " + d.key[1] + "'n" +
"value: " + d.value;
});
我在这里缺少什么吗? 还是错误? 如果是这种情况,是否有任何解决方法?
这是设计使然,因为颜色映射可能具有一些绝对含义。
因此,如果您希望域调整并显示每组新值的完整颜色范围,则需要在每次重绘图表时calculateColorDomain()
:
.on('preRedraw', function() {
dayAndTimeChart.calculateColorDomain();
})
小提琴的工作叉:http://jsfiddle.net/gordonwoodhull/w1mzwv8d/2/
相关文章:
- 如何使用D3生成特定范围内的随机颜色
- 如何制作具有特殊条形颜色的范围滑块
- DC.js 应用过滤器后热图颜色范围未更新
- d3.js应用不适用于 JSON 的颜色范围
- 获取与之关联的范围和颜色 - 色度.js
- 将底部边界的颜色更改为一定范围
- 使用javascript更改输入范围滑块的颜色
- 未捕获范围错误:超出最大调用堆栈大小(执行背景颜色切换器功能时)
- 在一定范围内使用paper.js进行颜色转换
- 独特的,范围的颜色在谷歌地理地图
- 高图-改变背景颜色沿特定的日期范围
- 在dc.js柱状图上的颜色问题,当过滤到一个狭窄的范围
- Highcharts列范围数据标签的高和低不同的颜色
- 如何使用脚本更改单元格背景颜色的多个范围
- d3:具有超过2种颜色的数组的颜色范围
- 使用javascript从HTML中线性渐变提供的范围中选择颜色
- 我如何在谷歌图表设置颜色范围
- 圆环图-将域映射到颜色范围(过渡)
- 使用滑块更新D3热图颜色范围
- 热图与红色的颜色范围为负值和绿色的颜色范围为正值