相关疑难解决方法(0)

如何从画布中清除图表,以便无法触发悬停事件?

我正在使用Chartjs来显示折线图,这很好用:

// get line chart canvas
var targetCanvas = document.getElementById('chartCanvas').getContext('2d');

// draw line chart
var chart = new Chart(targetCanvas).Line(chartData);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试更改图表的数据时会出现问题.我通过使用新数据点创建图表的新实例来更新图形,从而重新初始化画布.

这很好用.但是,当我将鼠标悬停在新图表上时,如果我碰巧检查了与旧图表上显示的点相对应的特定位置,则仍会触发悬停/标签,并且突然显示旧图表.当我的鼠标位于此位置时它仍然可见,并在离开该点时消失.我不希望显示旧图表.我想完全删除它.

在加载新画布之前,我试图清除画布和现有图表.喜欢:

targetCanvas.clearRect(0,0, targetCanvas.canvas.width, targetCanvas.canvas.height);
Run Code Online (Sandbox Code Playgroud)

chart.clear();
Run Code Online (Sandbox Code Playgroud)

但到目前为止,这些都没有奏效.关于如何阻止这种情况发生的任何想法?

javascript charts html5 chart.js

96
推荐指数
8
解决办法
11万
查看次数

chart.js加载全新的数据

APIchart.js允许用户编辑加载到其中的数据集的点,例如:

.update( )

在Chart实例上调用update()将使用任何更新的值重新渲染图表,允许您编辑多个现有点的值,然后在一个动画渲染循环中渲染它们.

.addData( valuesArray, label )

在Chart实例上调用addData(valuesArray,label),为每个数据集传递一个值数组,以及这些点的标签.

.removeData( )

在Chart实例上调用removeData()将删除图表上所有数据集的第一个值.

所有这些都很棒,但我无法弄清楚如何加载一个全新的数据集,消除旧的数据集.文档似乎没有涵盖这一点.

javascript chart.js

76
推荐指数
10
解决办法
13万
查看次数

标签 统计

chart.js ×2

javascript ×2

charts ×1

html5 ×1