【发布时间】:2019-12-09 20:26:11
【问题描述】:
我的图表中有数据集,我想重新组织以使其看起来更好。
这将是我的图表 OriginalChart
当我从中删除 2 个元素标签时,这将是我的图表,其想法是重新组织所有内容并删除带有 0 作为值的红色框的元素,或者换句话说,仅显示具有不同值的数据大于 0 ... ChartWithDataToOrganize
这个想法很简单,只是过滤所有等于 0 的数据值,但我真的不知道是否有一个工具,但当你再次显示所有数据时也可以反转它。 labels
我实现了在单击图例时查看如何隐藏元素,但是如何实现隐藏 == 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 在 Chrome 上
我没有输入任何数据,因为标签只是名称,其他的 returnData() 只是 %
【问题讨论】:
-
完成!,我试图把它放在 jsfiddle 上,但它给了我一个错误:/ 提前感谢您的时间@WhiteHat
-
哦,非常感谢,这对我很有帮助,因为我整天都在努力解决这个问题。
标签: javascript canvas charts chart.js chartjs-2.6.0