我希望能够在过滤后重新输入饼图图例。过滤时将删除切片/图例,因为我们删除了空箱。我为chart2添加了一个pretransition监听器,但这似乎是迟到的,因为传奇y值是前一个值而不是当前值。
.on('pretransition', chart => buildLegend (chart))
如果在Gender Pie图表上选择了Male,我希望Job Pie图表上的4个图例项目重新居中。有什么建议吗?
您可以看到jsFiddle示例。
答案 0 :(得分:1)
更多的挖掘向我展示了如何引用和更新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。