如何获取折线图的日期标签?

用户名

我在应用程序中使用Chart.js(版本:2.7.2)行,单击某些元素时打开对话框,我需要获取当前元素的标签(xAxes上的日期)。谷歌搜索我发现了一些例子,并试图做下一个:

        var lineCanvas = document.getElementById("canvasVotesByDays");
        var ctx = lineCanvas.getContext('2d');

        var lineChart = new Chart(ctx, {
            type: 'line',
            data: {
                labels: monthsXCoordItems,
                datasets: [
                    {
                        label: 'Correct Votes',
                ...

        lineCanvas.onclick = function (e) {
            console.log("INSIDE lineChart::")
            console.log(lineChart)

            var slice = lineChart.getPointsAtEvent(e);
            ...

但是在最后一行,我得到了错误:

Uncaught TypeError: lineChart.getPointsAtEvent is not a function
    at HTMLCanvasElement.lineCanvas.onclick 

在控制台中,我看到了LineChart对象的特性:https ://imgur.com/a/E7jsoBc

为什么会出错以及如何获取标签属性?

谢谢!

伊沃·格洛夫

根据文档,正确的方法似乎是getElementAtEventgetElementsAtEvent

function clickHandler(evt) {
    var firstPoint = myChart.getElementAtEvent(evt)[0];

    if (firstPoint) {
        var label = myChart.data.labels[firstPoint._index];
        var value = myChart.data.datasets[firstPoint._datasetIndex].data[firstPoint._index];
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章