0

我正在尝试使用 chart.js 中的组创建堆积条形图。但我不希望标签多次出现,而只是一个唯一的标签。

这是数据集:

datasets: [
{
  label: 'First Label',
  data: [1,2,3],
  borderColor: 'red',
  backgroundColor: 'red',
  stack: '1'
},
 {
  label: 'Second Label',
  data: [1,2,3],
  borderColor: 'green',
  backgroundColor: 'green',
   stack:'1'
},
 {
  label: 'First Label',
  data: [1,2,3],
  borderColor: 'red',
  backgroundColor: 'red',
   stack:'2'
}

正如您在此处看到的:Codepen 示例 标签“第一个标签”是双倍的,而不是使用相同的标签。我需要这个,因为我有一组数据集,它们都使用相同的标签名称,每个标签应该只存在一次。颜色也会一样。你有什么主意吗?标签过滤功能似乎不起作用...我正在使用 chart.js v3.1.0 谢谢!

4

1 回答 1

0

我自己发现了我的错误。过滤器函数位于错误的命名空间中。它必须在插件对象中,例如:

plugins: {
  legend: {
   labels: {
      filter: function(item, chart) {
        // Logic to remove a particular legend item goes here
        return item.datasetIndex;
      },
    },
},

}

而不是直接在选项对象中。

于 2021-04-19T11:48:48.683 回答