首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在box plot dc.js中仅显示有限数量的记录

问如何在box plot dc.js中仅显示有限数量的记录
EN

Stack Overflow用户
提问于 2020-02-09 03:55:43
回答 1查看 60关注 0票数 1

我想展示最近的10个盒子图。

如果对条形图或折线图应用筛选器,则框图应根据这些筛选器显示最新的10条记录。

我按日期(序数)创建了维度。但是我不能得到结果。

我不知道如何在一个虚假的团队中做到这一点。我是dc.js的新手。

场景图片附在附件中。如果有人需要更多细节来帮助我,请告诉我。

​

在图像中,我尝试了一些按时间尺度的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-12 20:25:26

您可以使用两个伪分组来完成此操作,一个用于删除空箱形图,另一个用于获取结果数据的最后N个元素。

删除空箱形图:

代码语言:javascript
复制
  function remove_empty_array_bins(group) {
    return {
      all: function() {
        return group.all().filter(d => d.value.length);
      }
    };
  }

这只是过滤bin,删除.value数组长度为0的任何位置。

取最后N个元素:

代码语言:javascript
复制
  function cap_group(group, N) {
    return {
      all: function() {
        var all = group.all();
        return all.slice(all.length - N);
      }
    };
  }

这基本上就是cap mixin所做的,除了没有为"others“创建一个bin (这有点棘手)。

我们从原始组中获取数据,看看它有多长,然后从all.length - N到末尾对数组执行slice操作。

将这些伪元素链接在一起,然后将它们传递给图表:

代码语言:javascript
复制
  chart
    .group(cap_group(remove_empty_array_bins(closeGroup), 5))

我使用5而不是10,因为我要处理的数据集较小。

​

​

Demo fiddle。

此示例使用“实时”时间刻度,而不是序号日期。有几种方法可以做顺序日期,但如果你的组仍然是从低日期到高日期排序,这应该仍然有效。

如果不是,您必须编辑您的问题以包含用于生成序号日期组的代码示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60130627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档