使用 chart.js v2 删除图表上的图例

Removing legend on charts with chart.js v2

我正在使用 Bootstrap、JQuery 和 Chart.js (v2) 创建主页。我使用 v1 实现了我的实现,但最近刚进入 Bower 并使用它下载了 v2。

我正在制作一个包含 4 列的网格,每列包含一个饼图,但是 v2 中的缩放比例让我开始工作有点困惑。我希望图表具有响应性,以便它们可以在平板电脑和智能手机等较小的设备上正确缩放,我的一个问题是摆脱图表的图例以及将鼠标悬停在我的部分上时的悬停信息图表。

index.html

<body>
    <div class="container">
        <div class="row">
            <div class="col-xs-3">
                <canvas id="chart1"></canvas>
            </div>
            <div class="col-xs-3">
                <canvas id="chart1"></canvas>
            </div>
            <div class="col-xs-3">
                <canvas id="chart1"></canvas>
            </div>
            <div class="col-xs-3">
                <canvas id="chart1"></canvas>
            </div>
        </div>
    </div>
</body>

functions.js

$(document).ready(function(){
    var canvas = $("#chart1");
    var data = {
        labels: [],
        datasets: [{
            data: [10, 10],
            backgroundColor: ["#F7464A", "#FDB45C"],
            hoverBackgroundColor: ["#FF5A5E", "#FFC870"]
        }]
    };

    var chart1 = new Chart(canvas, {
        type: "pie",
        data: data,
    });
});

如果我删除空的 "labels" 字段,图表将不再有效。从它的外观来看,图表顶部有一个小间距,这可能表明 headers 已写入,但它们只是空字符串。

有没有人知道如何删除图例和悬停说明?我根本无法理解它是如何使用的

一有空我就会动手做一个 jsfiddle!

编辑:Link 文档:https://nnnick.github.io/Chart.js/docs-v2/#getting-started

您可以在 javascript 文件中使用 Chart.defaults.global 更改默认选项。所以您想更改图例和工具提示选项。

删除图例

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

删除工具提示

Chart.defaults.global.tooltips.enabled = false;

Here 是一名工作提琴手。

从 chart.js 版本 2.x 向后:

创建新的图表对象时,可以将选项对象添加到图表中。

var chart1 = new Chart(canvas, {
    type: "pie",
    data: data,
    options: {
         legend: {
            display: false
         },
         tooltips: {
            enabled: false
         }
    }
});

您只需添加该行 传奇: { 显示:假 }

从 chart.js 版本 3.x 开始:

legend, title and tooltip 命名空间从选项移动到 options.plugins

var chart1 = new Chart(canvas, {
    type: "pie",
    data: data,
    options: {
        plugins: {
            legend: {
                display: false
            },
        }
    }
});

修改 Ishan 的回答

如果你像我一样使用 React,

const data = {
...
}

const options = {
  plugins: {
    legend: {
      display: false,
    },
  },
};


<Bar data={data} options={options} />

对我来说这不起作用:

legend: { display: false }

但这很好用,谢谢。

plugins: { legend: { display: false, }, }