0

我有一个动态折线图,我正在使用 Chart.js 构建最多 19 个数据集。我动态地将数据输入数据集(效果很好)。我遇到的问题是,如果我的数据集少于 19 个,则这些未使用的数据集仍会显示图例。我曾经在选项列表中将此功能与 Chart.js 2.6.0 一起使用:

legend: {
 labels: {
  filter: function(item, chart) {
   return !item.text.includes('unused');
  }
 }
}

但这不再适用于 Chart.js 3.2.0。

有谁知道如何让这个功能与 Chart.js 3.2.0 一起使用?

这是我目前分配数据集的方式:

for (i = 0; i < datasets.length; i++){
   myChart.data.datasets[i].data = datasets[i];
   myChart.data.datasets[i].label = labels[i];
};
for (j = datasets.length; j < 19; j++){
   myChart.data.datasets[j].label = 'unused';
};
myChart.update();
4

1 回答 1

1

解决方案是将图例移动到选项插件中。

plugins: {
   legend: {
      labels: {
         filter: function(item, chart) {
         return !item.text.includes('unused');
         }
      }
   }
},
于 2021-05-18T15:34:07.600 回答