我目前在网页上的图表是由Chart.js v2.5.3提供的。不久前配置的图表工作得非常好。以下是代码:
var ctw = document.getElementById("chart-budget");
var myChart = new Chart(ctw, {
type: 'bar',
data: {
labels: ["budget", "costs"],
datasets: [{
label: "Amount",
data: [520980, 23397.81],
backgroundColor: [
'rgba(143, 211, 91, 0.2)',
'rgba(255, 99, 132, 0.2)',
],
borderColor: [
'rgba(143, 211, 91,1)',
'rgba(255, 99, 132, 1)',
],
borderWidth: 1
}]
},
options: {
legend: {
display: false
},
responsive: true,
scales: {
yAxes: [{
ticks: {
beginAtZero: true
},
gridLines: {
drawBorder: false,
}
}],
xAxes: [{
gridLines: {
display: false,
}
}]
}
}
}); 由于v3现在可用,我正在考虑切换到它。一个快速的测试揭示了一些我需要克服的问题。我正在努力解决的问题之一是无法隐藏数据集图例。在V2.5中,这是由options.legend.display设置为false,但不再是这样。在文献资料中,我没有遇到任何可以帮助我的东西。
有没有人能就如何在Chart.js V3中隐藏一个传说提出建议?
/Kuba
发布于 2021-10-26 10:13:49
像下面这样的配置选项可以解决V3版本中的问题。
options: { plugins: { legend: { display: false }, } }发布于 2022-06-06 12:53:55
在Chart.js V3中,您可以向options.plugins.legend.labels添加一个filter函数,并计算标签或它们的datasetIndex值,以抑制特定的传说,而不是所有。
options: {
plugins: {
legend: {
labels: {
filter: function(legendItem, data) {
let label = data.datasets[legendItem.datasetIndex].label || '';
if (typeof(label) !== 'undefined') {
if (legendItem.datasetIndex >= 3){
return false;
}
}
return label;
}
}
}
}
}https://stackoverflow.com/questions/66943360
复制相似问题