javascript - 在 ChartJS 中获取 X、Y onClick 图表坐标

标签 javascript onclick click chart.js onclicklistener

如何使用 ChartJS V > 2.0 中的 onClick 事件获取 X、Y 坐标相对于图表

this JSFiddle举个例子。在 #canvas 中创建散点图。单击图表中心时,我应该得到 0、0 即使那里没有数据点

最佳答案

对于 future 的读者,一个可行的解决方案:

chartClicked(event){
    var yTop = this.chart.chartArea.top;
    var yBottom = this.chart.chartArea.bottom;

    var yMin = this.chart.scales['y-axis-0'].min;
    var yMax = this.chart.scales['y-axis-0'].max;
    var newY = 0;

    if (event.offsetY <= yBottom && event.offsetY >= yTop) {
        newY = Math.abs((event.offsetY - yTop) / (yBottom - yTop));
        newY = (newY - 1) * -1;
        newY = newY * (Math.abs(yMax - yMin)) + yMin;
    };

    var xTop = this.chart.chartArea.left;
    var xBottom = this.chart.chartArea.right;
    var xMin = this.chart.scales['x-axis-0'].min;
    var xMax = this.chart.scales['x-axis-0'].max;
    var newX = 0;

    if (event.offsetX <= xBottom && event.offsetX >= xTop) {
        newX = Math.abs((event.offsetX - xTop) / (xBottom - xTop));
        newX = newX * (Math.abs(xMax - xMin)) + xMin;
    };

    console.log(newX, newY);
};

归功于 chart.js 2.0 current mouse coordinates tooltip

关于javascript - 在 ChartJS 中获取 X、Y onClick 图表坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46107009/

相关文章:

javascript - 在 react 中传递按钮的 'this'

javascript - 通过 href 属性调用 JavaScript 函数的最佳方式

javascript - 第一次执行onclick需要2次点击

jquery - 如何在jquery中最近添加的<a>标签上绑定(bind)点击事件

javascript - grunt-contrib-connect 和文件上传

javascript - 如何在javascript中查看history对象的内容?

javascript - js代码在应用程序的其他区域使用/加载之前动态设置图像的宽度和高度

javascript - 将 HTML 属性 onClick 函数与 jQuery On 函数结合起来?

reactjs - 在 onClick 事件监听器中使用两个箭头函数

jQuery 可以 removeClass 但不能为具有 .on ("click"的元素添加类)