如何使用 ChartJS 从标签中筛选数据集



我的图表中有数据集,我想重新组织以使其看起来更好。

这将是我的图表 原始图表

当我从中删除 2 个元素标签时,这将是我的图表,这个想法是重新组织所有内容并删除带有红色框的元素,这些元素的值为 0,换句话说,只显示值不同于 0 的数据...... 图表与数据组织

这个想法很简单,只是过滤所有等于 0 的数据值,但我真的不知道是否有工具,但当您再次显示所有数据时也可以反转它。 标签

我实现了在单击图例时如何隐藏元素,但是我如何才能隐藏其中的数据 == 0,然后在我取消隐藏它并像第一次一样看到它时将其反转。.

legend: {
display: true,
onClick: function(e, legendItem) {
var index = legendItem.datasetIndex;
var actualChart = this.chart;
//If the actual label is not hidden, I set it up as false, otherwise is null
var alreadyHidden = (actualChart.getDatasetMeta(index).hidden === null) ? false : actualChart.getDatasetMeta(index).hidden;
actualChart.data.datasets.forEach(function(e, i) {
var meta = actualChart.getDatasetMeta(i);
if (i === index) {//I check if the selected label is already hidden otherwise I hide it
if(!alreadyHidden){
meta.hidden = true;
}else{
meta.hidden = null;
}
}
});
actualChart.update();
},
},

我正在使用 ChartJs 2.8.0 在铬上

我没有输入任何数据,因为标签只是名称,而其他返回数据((只是%

我设法通过创建我的数据集标签的实际副本的副本并设置新配置来做到这一点,如果我再次显示选定的标签,我只是替换我以前拥有的先前数据集的新 dataSetLabel。

最新更新