I found following example for a stacked bar chart with dc.js: https://dc-js.github.io/dc.js/examples/stacked-bar.html
If I click on some (or several) legend item, I would like the chart to
only show the corresponding items (e.g. red and blue) and
adapt the total numbers to only consider the selected items
I already managed to add some click event to the legend entries:
chart.on('pretransition.hideshow', ()=> {
chart.selectAll('.dc-legend-item')
.on('click', function (data, index, nodeList) {
const stackName = data.name;
if(data.hidden){
chart.showStack(stackName);
} else {
chart.hideStack(stackName);
}
dc.redrawAll();
});
});
This hides some stack but the sum is not shown as expected (multiplie, overlapping values are shown).
=>How can I filter the data correctly?
I also tried to use chart.filter()
but that only seems to be able filter the x axis and not the stacks.
Currently, if I hover over a legend entry, the chart already adapts but does not show the wanted behavior.