如何从 Highcharts 中删除注释?
How do you remove an annotation from Highcharts?
我正在使用 Highcharts 6。我正在使用以下事件来获取我的数据点 ID 并以简单的形式打开弹出窗口。
plotOptions: {
series: {
point: {
events: {
click: function(e) {
selected_point = e.point.id
$('#chart').popover("toggle")
}
}
}
}
}
提交表单时,会在该数据点上设置注释。
$('body').on('click', '#save_annotation', function() {
var text = $("#annotationForm").val()
myChart.addAnnotation({
labels: [{
point: selected_point,
text: text
}]
})
$('#chart').popover("toggle")
})
目前为止效果很好。我需要一种方法来修改和删除现有注释。看来我应该使用 removeAnnotation() 但我似乎无法弄清楚如何使用它。文档表明我需要传递注释 ID。我在哪里可以找到这个ID?当我调用 myChart.annotations 时,我可以看到一个对象数组。每个对象都是一个注解但是没有id 属性.
我能够使用 forEach 循环通过 destroy() 方法删除特定注释,但它在注释数组中留下了一个项目,不推荐这样做。
删除注释的正确方法是什么?如何获取注释的 ID?此 post 表示 addAnnotation() returns 它所做的注释但返回的对象没有显示的那样。例如在我的例子中 annotation.id returns undefined.
与点很像,您必须设置注释的 id。然后就可以在removeAnnotation函数中引用了。
$('body').on('click', '#container', function() {
var text = 'Hi there';
if (toggle) {
myChart.addAnnotation({
id: 'one',
labels: [{
point: 'one',
text: text
}]
});
} else {
myChart.removeAnnotation('one');
}
toggle = !toggle;
})
我正在使用 Highcharts 6。我正在使用以下事件来获取我的数据点 ID 并以简单的形式打开弹出窗口。
plotOptions: {
series: {
point: {
events: {
click: function(e) {
selected_point = e.point.id
$('#chart').popover("toggle")
}
}
}
}
}
提交表单时,会在该数据点上设置注释。
$('body').on('click', '#save_annotation', function() {
var text = $("#annotationForm").val()
myChart.addAnnotation({
labels: [{
point: selected_point,
text: text
}]
})
$('#chart').popover("toggle")
})
目前为止效果很好。我需要一种方法来修改和删除现有注释。看来我应该使用 removeAnnotation() 但我似乎无法弄清楚如何使用它。文档表明我需要传递注释 ID。我在哪里可以找到这个ID?当我调用 myChart.annotations 时,我可以看到一个对象数组。每个对象都是一个注解但是没有id 属性.
我能够使用 forEach 循环通过 destroy() 方法删除特定注释,但它在注释数组中留下了一个项目,不推荐这样做。
删除注释的正确方法是什么?如何获取注释的 ID?此 post 表示 addAnnotation() returns 它所做的注释但返回的对象没有显示的那样。例如在我的例子中 annotation.id returns undefined.
与点很像,您必须设置注释的 id。然后就可以在removeAnnotation函数中引用了。
$('body').on('click', '#container', function() {
var text = 'Hi there';
if (toggle) {
myChart.addAnnotation({
id: 'one',
labels: [{
point: 'one',
text: text
}]
});
} else {
myChart.removeAnnotation('one');
}
toggle = !toggle;
})