gpt4 book ai didi

javascript - 使用 Chartjs.org V2.7 过滤图例项

转载 作者:行者123 更新时间:2023-11-29 16:40:39 26 4
gpt4 key购买 nike

我正在构建一系列圆环图,我想删除图例中的第二项,因此当我使用 generateLegend() 方法生成图例时,我只想获取第一个值。

documentation有一个选项显示为

Filters legend items out of the legend. Receives 2 parameters, a Legend Item and the chart data

但是我找不到如何使用它的示例。在这个Pen你可以看到中间的 2 个标签,我只想显示第一个标签。我尝试了不同的方法但没有成功。仅删除该项目对我不起作用,因为 <li>项目仍然存在。这是我正在使用的代码。

$id = function(id) {
return document.getElementById(id);
};

var langDataEs = {
type: "doughnut",
data: {
datasets: [
{
data: [75, 25],
backgroundColor: ["#8dc63f", "#1d1d1d"]
}
],
labels: ["es", "learning"]
},
options: {
legend: {
display: false,
/* I would like to remove the item "learning" */
filter: function() {

},
},
responsive: true
}
};

langChartEs = new Chart($id("langEs").getContext("2d"), langDataEs);
$id("es").innerHTML = langChartEs.generateLegend();

在此先感谢您的指点。

最佳答案

过滤器函数的工作方式与 Javascript 的原生 Array.prototype.filter 完全相同。因此,如果您想在特定索引处显示图例,只需返回 true。

编辑:过滤器函数将位于 labels 字段内。

 legend: {
display: true,
labels: {
filter: function(legendItem, data) {
return legendItem.index != 1
}
}
}

关于javascript - 使用 Chartjs.org V2.7 过滤图例项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46374333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com