dc.js 饼图图例过滤后能否重新居中

dc.js Can a Pie Legend be recentered after filtering

我希望能够在过滤后将饼图图例重新居中。 Slices/Legends 将在过滤时删除,因为我们删除了空箱。我向 chart2 添加了一个过渡前侦听器,但这似乎已经晚了,因为图例 y 值是以前的值而不是当前值。

.on('pretransition', chart => buildLegend (chart))

如果在性别饼图上选择了男性,我希望工作饼图上的 4 个图例项目重新居中。有什么建议吗?

你可以看到一个jsFiddle例子。

进一步深入了解如何引用和更新 SVG 元素。

function recenterLegend(chart) {
    chart.selectAll('g.dc-legend')
        .attr('transform', function(d) {
            let legendY = (300 - (chart.group().all().length * 16)) / 2;
            let translate = 'translate(220,' + legendY + ')';
            return translate ;
         });
    }

这是更新后的 jsfiddle