我正在使用Chart.js来显示饼图及其图例。当用户单击图例标签以禁用\隐藏它时,我希望重新计算饼图中剩余的所有可见部分的总和。
我已经覆盖了默认的图例点击处理程序,并试图在那里做这件事-我不确定这是否是这样做的地方,但它似乎是合乎逻辑的这样做。
const defaultLegendClickHandler = Chart.defaults.plugins.legend.onClick;
const pieDoughnutLegendClickHandler = Chart.controllers.doughnut.overrides.plugins.legend.onClick;
const newLegendClickHandler = function (e, legendItem, legend) {
const index = legendItem.datasetIndex;
const type = legend.chart.config.type;
if (type === 'pie' || type === 'doughnut') {
pieDoughnutLegendClickHandler(e, legendItem, legend)
} else {
defaultLegendClickHandler(e, legendItem, legend);
}
let ci = legend.chart;
//Iterate through visible values of a data set and sum them...????
};
1条答案
按热度按时间wljmcqd81#
您可以对数据进行交互,检查是否隐藏,如果没有,则将其添加到总数中:
第一个