d3.js - 控制 dc.js 数据表中显示哪些元素

标签 d3.js dc.js crossfilter

我遇到了 dc.js 和 crossfilter 的一个看似简单的问题。

我在某个维度上有一个数据表,它正确显示了我的数据。问题是我想显示“最差”的数据项,但数据表在过滤器中选择了“最佳”的项。

以下是当前表代码的草图。

var alertnessDim = ndx.dimension(function(d) {return d.alertness1;});

dc.dataTable(".dc-data-table")
    .dimension(alertness1)
    .group(function (d) {
        return d.DATE.getYear();
    })
    .columns([
        function (d) {
            return d.DATE;
        },
        function (d) {
            return d['FLEET'];
        },
        function (d) {
            return d.alertness1;
        }

    ])
    .sortBy(function (d) {
        return d.alertness1;
    })
    .order(d3.ascending); 

这会正确连接到交叉过滤器,并按正确的顺序对项目进行排序,但它显示的 25 个项目是警觉性值最高的项目,而不是最低的。

有人对如何解决这个问题有任何想法,最好不要创建另一个维度吗?

最佳答案

你在这里感到困惑是对的。您可能认为这将是一个受支持的用例,但据我所知,事实并非如此。数据表使用dimension.top所以它总是会取最高值。

所以我认为没有办法使用具有相反顺序/键的特殊维度。对于其他图表,您可以使用 group.order为了让它返回最低值。但数据表不使用组,因为它不会减少其值。

令人困惑的是,数据表还有一个 order 参数,该参数在这里没有帮助。

希望这是可以接受的。否则我认为你必须仔细研究代码。随时欢迎拉取请求! (最好有测试)

关于d3.js - 控制 dc.js 数据表中显示哪些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24263226/

相关文章:

d3.js - 如何从 dc js 图表中的 x 轴删除周末日期

javascript - D3.js 图表画笔和 Crossfilter.js 缩放不同步

javascript - 具有自定义访问器的 D3 geom.hull

javascript - 在 dc.js 中创建条形图时出错

javascript - 更改 dc.js 折线图中的数据组并重新绘制它

javascript - 如何将 JavaScript forEach 循环/函数转换为 CoffeeScript

javascript - 单击其他图表后显示行图 (dc.js)

d3.js - 如何根据元素而不是节点顺序对 D3 力模拟节点进行分层?

d3.js - 在 d3js 条形图中,我想要固定条形宽度

javascript - D3 - 如何使用分区布局进行可视化,使其具有均等划分的扇区?