高图表单击功能更新系列并取消以前的更新



我用 50 多个系列构建了一个折线图:小提琴

现在我想通过按钮单击突出显示一个系列(不透明度:1(。 当我突出显示另一个系列时,第一个系列应该再次获得其原始不透明度 0.1。

只有两个系列,我可以通过这样做来实现这一点:

$('#func1').click(function () {
var chart = $('#Weltweit').highcharts();  
chart.series[3].update({opacity: 0.1}); 
chart.series[4].update({opacity: 1});
});
$('#func2').click(function () {
var chart = $('#Weltweit').highcharts(); 
chart.series[3].update({opacity: 1});
chart.series[4].update({opacity: 0.1}); 
});

但是我不能用 50 个系列做到这一点,因为它需要很长时间来计算。有没有办法在进行新更新之前取消以前的更新?

使用redraw参数设置为false的更新方法,并在循环后重绘图表:

chart.series.forEach(function(s) {
s.update({
...
}, false);
});
chart.redraw();
<小时 />

现场演示:http://jsfiddle.net/BlackLabel/3a9bfjgd/

接口参考:

https://api.highcharts.com/class-reference/Highcharts.Series#update

https://api.highcharts.com/class-reference/Highcharts.Chart#redraw

你可以在这里阅读,类似于你的问题:https://api.highcharts.com/highcharts/series.line.point.events.select

最新更新