我想展示最近的10个盒子图。
如果对条形图或折线图应用筛选器,则框图应根据这些筛选器显示最新的10条记录。
我按日期(序数)创建了维度。但是我不能得到结果。
我不知道如何在一个虚假的团队中做到这一点。我是dc.js的新手。
场景图片附在附件中。如果有人需要更多细节来帮助我,请告诉我。

在图像中,我尝试了一些按时间尺度的解决方案。
发布于 2020-02-12 20:25:26
您可以使用两个伪分组来完成此操作,一个用于删除空箱形图,另一个用于获取结果数据的最后N个元素。
删除空箱形图:
function remove_empty_array_bins(group) {
return {
all: function() {
return group.all().filter(d => d.value.length);
}
};
}这只是过滤bin,删除.value数组长度为0的任何位置。
取最后N个元素:
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操作。
将这些伪元素链接在一起,然后将它们传递给图表:
chart
.group(cap_group(remove_empty_array_bins(closeGroup), 5))我使用5而不是10,因为我要处理的数据集较小。

此示例使用“实时”时间刻度,而不是序号日期。有几种方法可以做顺序日期,但如果你的组仍然是从低日期到高日期排序,这应该仍然有效。
如果不是,您必须编辑您的问题以包含用于生成序号日期组的代码示例。
https://stackoverflow.com/questions/60130627
复制相似问题