我希望使我的图表(使用 Chart.js 制作)更具交互性,并且我想使用以下代码获取点的索引(其数据集):
canvas.onclick = function(e) {
const points = chart.getPointsAtEvent(e);
// something like `point.getIndex()` would be great so that I know where this point is in the original dataset
};
有人有好的解决方案吗?
最佳答案
您应该能够执行indexOf(而不是标签查找),因为它引用点集合中完全相同的对象
canvas.onclick = function (evt) {
var points = chart.getPointsAtEvent(evt);
alert(chart.datasets[0].points.indexOf(points[0]));
};
此外,对于多系列折线图,getPointsAtEvent(evt)
返回所有数据集中的点。因此,无论您拥有多少数据集或单击哪个数据集,相同的代码都可以工作。
fiddle - http://jsfiddle.net/yxz2sjam/
关于javascript - Chart.js:从chart.getPointsAtEvent(e)获取点索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31253468/