如何在chart.js中禁用图例?

时间:2016-04-30 13:00:16

标签: javascript jquery charts

我正在尝试使用chart.js设置图表样式,但我无法弄清楚如何禁用图例。同时我想使用generateLegend()来设置页面上其他位置的图例样式。所以我只想禁用canvas元素中的图例。你能帮助我吗?

这是我的代码:

canvas id="myChart"></canvas>
                        <div id="legendq3"></div>
                        <script> 
                            var ctx = document.getElementById("myChart");

                            var data = {
                                labels: [
                                    "Red",
                                    "Green",
                                    "Yellow"
                                ],
                                datasets: [
                                    {
                                        data: [300, 50, 100],
                                        backgroundColor: [
                                            "#FF6384",
                                            "#36A2EB",
                                            "#FFCE56"
                                        ],
                                        hoverBackgroundColor: [
                                            "#FF6384",
                                            "#36A2EB",
                                            "#FFCE56"
                                        ]
                                    }]
                            };

                            var options = {
                                 legendTemplate :'<ul>'
                                                +'<% for (var i=0; i<datasets.length; i++) { %>'
                                                +'</li>'
                                                +'<span style=\"background-color:<%=datasets[i].lineColor%>\"></span>'
                                                +'<% if (datasets[i].label) { %><%= datasets[i].label %><% } %>'
                                                +'</li>'
                                                +'</ul>'

                            }

                            var myDoughnutChart = new Chart(ctx, {
                                type: 'doughnut',
                                data: data,
                                options: options
                            });

                            document.getElementById('legendq3').innerHTML = myDoughnutChart.generateLegend();
                        </script>

5 个答案:

答案 0 :(得分:5)

将此添加到 options 对我有用:

plugins: {
    legend: false,
}

源代码:https://www.chartjs.org/docs/latest/configuration/tooltip.html

答案 1 :(得分:4)

对于发起问题的人来说,这可能是迟到的。但是,我仍然为那些可能遇到同样问题的人们提供了对我有用的解决方案,没有太多麻烦。只需将显示属性false值传递给legend&amp;标签属性,如波纹管。

options: {
  legend: {
    display: false,
      labels: {
        display: false
      }
  }
}  

答案 2 :(得分:2)

  

图表图例的全局选项在Chart.defaults.global.legend

中定义

将此代码放入代码中(声明图表后):

TRUE

答案 3 :(得分:0)

documentation中,可以将以下属性添加到options对象以隐藏图例:

var chart = new Chart(canvas, {
    type: 'pie',
    data: data,
    options: {
        legend: {
            display: false
        }
}
});

答案 4 :(得分:0)

您应该将图例选项设置为“无”

{ legend: 'none' }

来源:https://developers.google.com/chart/interactive/docs/gallery/piechart