javascript - 如何从 Chart.js 中删除特定数据集?

标签 javascript charts

我想使用复选框从 chart.js 添加和删除数据集。

现在我正在使用这个添加:

var ds1 = {
    label: ..
    data: .. etc
};
data.datasets.push(ds1);

当我取消选中任何复选框时,它总是删除最后添加的数据集,这不是复选框所必需的。

我正在使用 data.datasets.pop(ds1); 在单击复选框时删除。

最佳答案

如果您使用 data.datasets.pop(ds1) 进行删除,您将永远得不到想要的结果。 dataset 属性是一个数组,所以我们只关注数组而忽略 Chart.js。

第一个问题是 the pop() method of the Arrays type does not take an argument ,因此提供您要删除的元素是无关紧要的。 Pop() 将始终从数组中删除最后一个元素。

要从数组中删除特定元素,您需要使用 splice()功能。

假设 ds1 是您要删除的元素。

let removalIndex = data.datasets.indexOf(ds1); //Locate index of ds1
if(removalIndex >= 0) { //make sure this element exists in the array
    data.datasets.splice(removalIndex, 1);
}

这将删除数组中从我们位于 ds1 的索引开始的第 1 条记录。

关于javascript - 如何从 Chart.js 中删除特定数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44853568/

相关文章:

javascript - Angular 2 : trying to update ngModel with onModelChange inside the controller

javascript - 将数字转换为最接近的 10 的倍数

java - 图表和自定义字体

Excel 2010 宏有运行时错误 -2147467259 (80004005) : Invalid parameter

vb.net - VB.NET 图表上的边距较小

javascript - 如何向JQWidget饼图添加数组?

php - 当参数是整数而不是字符串时,javascript onclick 函数有效吗?

javascript - RactiveJS 可拖动使用鼠标事件

javascript - 如何在 Angular Js的水平分页 ScrollView 中添加日期选择器?

c# - 如何在 asp.net 中嵌入图表