我正在尝试使用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>
答案 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