javascript - Heatmap DC.js - 如何手动过滤多个项目

标签 javascript heatmap dc.js

我正在使用 dc.js 制作热图。在页面加载期间,我想手动过滤热图。

例如,如果它使用这个 heatmap.filter("30,0") 进行过滤;它在页面加载时起作用。但是当我尝试使用 .filter() 函数过滤多个值时,它不起作用。

我尝试这样做只是为了测试。

    var test = [];

    test.push("30,0");
    test.push("40,2");
    heatmapChart.filter(test);

虽然如果它只有一个项目就可以工作,但如果我添加另一个数组项目,图表就会中断。有没有一种特定的方法可以手动过滤多个项目?

最佳答案

是的,但是这里和那里之间有几层奇怪的东西。

首先,实际的过滤器项是使用 dc.filters.TwoDimensionalFilter 构建的- 我认为您的逗号分隔字符串只是偶然起作用。

其次,图表已经覆盖了 .filter() 所以如果你想获得可以处理多个项目的基本版本,你需要调用 chart._filter() 代替。

最后,也是最奇怪的是,过滤多个项目的语法是提供一个包含单个过滤项目数组的数组。

把这些放在一起,

    var ff = [dc.filters.TwoDimensionalFilter([0,2008]),
              dc.filters.TwoDimensionalFilter([3,1994]),
              dc.filters.TwoDimensionalFilter([9,2000])];
    heatmapChart._filter([ff]);

适用于 heatmap filtering example .注意过滤器数组的数组!

关于javascript - Heatmap DC.js - 如何手动过滤多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49077900/

相关文章:

php - 如何在 javascript 中调用用 php 编写的 Web 服务?

javascript - console.log打印两次并且map在reactjs/mobx项目中不起作用

javascript - 如何通过css在dc.js中设置饼图的宽度

javascript - 使用 dc.js 根据存储在字典中的已处理数据创建条形图

javascript - 访问多维 JavaScript 对象中的子键

javascript - jspdf 自动表格 : Target style for specific row of a table

JavaScript: `Date()` 和 `new Date()`

r - 在 ggplot2 中为颜色条(图例)指定相同的限制

javascript - 将热图从 Bing 6.3 移植到 Bing V8

r - R 热图中的颜色标签(文本)