如何在箱形图中仅显示有限数量的记录 dc.js
How to show only limited number of records in box plot dc.js
我想显示箱线图的最近 10 个 bin。
如果对条形图或折线图应用过滤器,则箱形图应根据这些过滤器显示最近的 10 条记录。
我按日期(顺序)制作尺寸。但是我无法得到结果。
我不知道如何使用假组。我是 dc.js 的新手。
场景图片附后。如果有人需要更多详细信息来帮助我,请告诉我。
在图像中,我按时间尺度尝试了一些解决方案。
您可以使用两个假组来执行此操作,一个用于删除空箱线图,另一个用于获取结果数据的最后 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(这有点棘手)。
我们从原始组中取出数据,看它有多长,然后slice那个数组从all.length - N
到最后。
将它们传递到图表时将这些假的链接在一起:
chart
.group(cap_group(remove_empty_array_bins(closeGroup), 5))
我使用 5 而不是 10,因为我要处理的数据集较小。
此示例使用 "real" 时间尺度而不是顺序日期。有几种方法可以按顺序排列日期,但如果您的组仍然按从低到高的日期排序,这应该仍然有效。
如果没有,您必须编辑您的问题以包含您用于生成序号日期组的代码示例。
我想显示箱线图的最近 10 个 bin。
如果对条形图或折线图应用过滤器,则箱形图应根据这些过滤器显示最近的 10 条记录。
我按日期(顺序)制作尺寸。但是我无法得到结果。
我不知道如何使用假组。我是 dc.js 的新手。
场景图片附后。如果有人需要更多详细信息来帮助我,请告诉我。
您可以使用两个假组来执行此操作,一个用于删除空箱线图,另一个用于获取结果数据的最后 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(这有点棘手)。
我们从原始组中取出数据,看它有多长,然后slice那个数组从all.length - N
到最后。
将它们传递到图表时将这些假的链接在一起:
chart
.group(cap_group(remove_empty_array_bins(closeGroup), 5))
我使用 5 而不是 10,因为我要处理的数据集较小。
此示例使用 "real" 时间尺度而不是顺序日期。有几种方法可以按顺序排列日期,但如果您的组仍然按从低到高的日期排序,这应该仍然有效。
如果没有,您必须编辑您的问题以包含您用于生成序号日期组的代码示例。