删除chart.js中的“标签”

gudnpqoy  于 2022-11-06  发布在  Chart.js
关注(0)|答案(3)|浏览(268)

我正在使用Chart.js v2.7.2,想删除“label”字段。关闭它会返回“undefined”,我尝试过的各种选项都没有任何效果。有人对此有新的见解吗?图例、标题等都无法删除它。

let thisChart = new Chart(gov_chart, {
        type: 'horizontalBar',
        data: {
            label: 'I want to remove this',
            labels: [data1, data2],
            datasets: [{
                backgroundColor: ['rgb(240,61,74)', 'rgb(0, 156, 255)'],
                data: [data1.count, data2.count],
                }]
            },
        options: {
            scales: {
                xAxes: [{
                    ticks: {
                        beginAtZero: true
                        }
                    }]
                }
            },
            legend: {
                display: false
            },
            title: {
                display: false
            },
            tooltips: {
                callbacks: {
                    label: function(tooltipItem) {
                        return tooltipItem.yLabel;
                    }
                }
            }
        });
g2ieeal7

g2ieeal71#

请注意,对于3.x版,接受的答案已过时。要删除图例,您现在必须指定插件。https://www.chartjs.org/docs/latest/configuration/legend.html
例如

var chart = new Chart(ctx, {
   type: 'bar',
   data: data,
   options: {
      plugins: {
         legend: {
            display: false
         }
      }
    }
});
55ooxyrt

55ooxyrt2#

label应该在datasets的内部,例如

type: 'horizontalBar',
data: {  
  labels: [data1, data2],
  datasets: [{
    label: 'put it here', // => here
    backgroundColor: ['rgb(240,61,74)', 'rgb(0, 156, 255)'],
    data: [data1.count, data2.count],
  }]
},

这样你就不会

**已更新:**如果您不想看到它,请将legend配置放在options内。显然,我看到您的legend位于options对象之外。

options: {        
  legend: {
    display: false
  }
}
5kgi1eie

5kgi1eie3#

您可以使用过滤器来删除您不想显示的标签

options: {
   plugins: {
     legend: {
       labels: {
          filter: (l) => (l.text !== 'Label you want to remove')
       }
     }
   }
}

相关问题