152

我有以下代码使用 Chart.js v2.1.3 创建图表:

var ctx = $('#gold_chart');
var goldChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: dates,
        datasets: [{
            label: 'I want to remove this Label',
            data: prices,
            pointRadius: 0,
            borderWidth: 1
        }]
    }
});

代码看起来很简单,但我无法从图中删除标签。我尝试了很多我在网上找到的解决方案,但大多数都使用 Chart.js v1.x。

如何删除数据集标签?

4

9 回答 9

319

只需像这样设置labeltooltip选项

...
options: {
    legend: {
        display: false
    },
    tooltips: {
        callbacks: {
           label: function(tooltipItem) {
                  return tooltipItem.yLabel;
           }
        }
    }
}

小提琴 - http://jsfiddle.net/g19220r6/

于 2016-05-13T09:04:48.987 回答
94

截至 2021 年,命名空间已从 更改options.legendoptions.plugins.legend. 这个简单的代码对我有用 -

data{
...
},
options: {
  plugins: {
    legend: {
      display: false
    }
  }
}
于 2021-04-12T09:29:52.253 回答
47

添加:

Chart.defaults.global.legend.display = false;

在脚本代码的开头;

于 2017-04-21T10:59:36.927 回答
13

您还可以通过删除“标题”将工具提示放在一行:

this.chart = new Chart(ctx, {
    type: this.props.horizontal ? 'horizontalBar' : 'bar',
    options: {
        legend: {
            display: false,
        },
        tooltips: {
            callbacks: {
                label: tooltipItem => `${tooltipItem.yLabel}: ${tooltipItem.xLabel}`, 
                title: () => null,
            }
        },
    },
});

在此处输入图像描述

于 2018-01-01T23:39:31.343 回答
13

就像添加这个一样简单:

legend: {
    display: false,
}

或者,如果你愿意,你可以使用这个也应该工作的其他选项:

Chart.defaults.global.legend.display = false;``
于 2019-05-24T13:37:54.527 回答
11

新解决方案 ChartJS v3.1.1

上述解决方案对于 v3.1 之前的以前版本的图表 js 是正确的,对于 v3.1.1 使用以下

 ...
 options: {
  plugins:{
   legend: {
    display: false
   }
  }
 }
于 2021-04-22T18:10:23.257 回答
8

对于那些想要删除实际轴标签而不仅仅是 2021 年的图例(Chart.js v.3.5.1)的人。注意:这也会删除轴。

const chartWrap = document.querySelector('.chart-wrap')
const canvas = document.createElement('canvas')

chartWrap.appendChild(canvas)
const ctx = canvas.getContext('2d')

const myChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: ['Your', 'axis', 'labels'],
        datasets: [
            {
                label: 'Your legend label',
                data: [1, 3, 2],
                backgroundColor: '#54ACEF'
            }
        ]
    },
    options: {
        maintainAspectRatio: false,
        plugins: {
            legend: false // Hide legend
        },
        scales: {
            y: {
                display: false // Hide Y axis labels
            },
            x: {
                display: false // Hide X axis labels
            }
        }   
    }
})
<div class="chart-wrap" style="width: 200px; height: 100px;"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js" integrity="sha512-Wt1bJGtlnMtGP0dqNFH1xlkLBNpEodaiQ8ZN5JLA5wpc1sUlk/O5uuOMNgvzddzkpvZ9GLyYNa8w2s7rqiTk5Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

于 2021-09-07T13:08:18.083 回答
7
new Chart('idName', {
      type: 'typeChar',
      data: data,
      options: {
        legend: {
          display: false
        }
      }
    });
于 2019-10-04T17:54:51.677 回答
2

用此代码段替换选项,将为 Vanilla JavaScript 开发人员修复

options: {
            title: {
                text: 'Hello',
                display: true
            },
            scales: {
                xAxes: [{
                    ticks: {
                        display: false
                    }
                }]
            },
            legend: {
                display: false
            }
        }

于 2021-01-18T11:58:29.927 回答