【发布时间】:2020-10-24 08:56:23
【问题描述】:
我想动态设置包含隐藏箱的 DC 图的高度。
可以使用 remove_empty_bins() 函数在 DC 图表中隐藏零值箱 - 请参阅以下帖子: How can hide dc.js row chart values if values equal zero
我创建了一个组“SubCategoryGroup_nonEmpty”,它只包含非空箱。 但是现在我的图表高度不适应非空箱的数量。
我尝试使用以下代码设置 .height():
SubcategoryRowChart
.dimension(SubCategoryDim)
.group(SubCategoryGroup_nonEmpty)
.elasticX(true)
.valueAccessor(function(p) { return p.value.count > 0 ? p.value.total / p.value.count : 0; })
...
.height(function(anchor) {
// calculate the height depending on the count of not-hidden bins
return SubCategoryDim.group().size() * 40; // 40 = size of single element including padding
});
但是使用 SubCategoryDim.group().size() 我只能得到总箱,而不是过滤的箱:
如何获取过滤后的 bin 数量?
【问题讨论】:
-
虽然可以通过函数来设置高度,但是函数只调用一次,值被缓存。您还需要在重新绘制图表时设置高度,您可以通过处理
preRedraw事件来完成。获取已过滤箱数的最简单方法是nonEmpty.all().length
标签: javascript dynamic height dc.js crossfilter