当图表重新绘制时,图例会渲染,但问题是图例是从数据中提取的,而交叉过滤器不会自动消除空组.
如果传说是图表类型,那将是非常好的,所以我们可以使用假组(又名"数据转换").但不,我们需要更新.legendables()以过滤掉空箱:
dc.override(pieactChart, 'legendables', function() {
var legendables = this._legendables();
return legendables.filter(function(l) {
return l.data > 0;
});
});
Run Code Online (Sandbox Code Playgroud)
你小提琴的叉子:http://jsfiddle.net/gordonwoodhull/13t804u6/5/
注意:这只会修改一个(左)图表,您必须为每个图表复制/粘贴它(或将其包装在一个函数中)以将其应用于其他图表.
[我非常顽固地不想在图表中使用这样的数据过滤内容,所以我不打算将其作为一个功能.相反,图例应该是一个从另一个图表中获取数据的图表,应该有一种方法来转换这些数据.