如何从画布中清除图表,以便无法触发悬停事件?
2022-08-30 04:21:49
我正在使用Chartjs来显示折线图,这工作正常:
// get line chart canvas
var targetCanvas = document.getElementById('chartCanvas').getContext('2d');
// draw line chart
var chart = new Chart(targetCanvas).Line(chartData);
但是当我尝试更改图表的数据时,问题就出现了。我通过使用新数据点创建图表的新实例来更新图形,从而重新初始化画布。
这工作正常。但是,当我将鼠标悬停在新图表上时,如果我碰巧越过与旧图表上显示的点相对应的特定位置,则仍会触发悬停/标签,并且突然可以看到旧图表。当我的鼠标位于此位置时,它仍然可见,并在移出该点时消失。我不希望显示旧图表。我想完全删除它。
在加载新图表之前,我已尝试清除画布和现有图表。喜欢:
targetCanvas.clearRect(0,0, targetCanvas.canvas.width, targetCanvas.canvas.height);
和
chart.clear();
但到目前为止,这些都没有奏效。关于如何阻止这种情况发生的任何想法?