gpt4 book ai didi

javascript - ChartJS v2 : Scale value at click coordinates (time scale)

转载 作者:行者123 更新时间:2023-11-30 11:59:02 25 4
gpt4 key购买 nike

我有一个时基折线图,我正在尝试获取点击坐标处每个刻度的值。

我在 ChartJS 选项中指定的 onClick 函数:

onClick: function(event, elementsAtEvent)
{
console.log(event, elementsAtEvent, this);
var valueX = null, valueY = null;
for (var scaleName in this.scales) {
var scale = this.scales[scaleName];
console.log(scale.id, scale.isHorizontal());
if (scale.isHorizontal()) {
valueX = scale.getValueForPixel(event.offsetX);
} else {
valueY = scale.getValueForPixel(event.offsetY);
}
}
console.log(event.offsetX, valueX, null, event.offsetY, valueY);
},

JSFiddle:https://jsfiddle.net/AllenJB/dmebo9g5/1/

上面的代码似乎适用于 Y 轴,但不适用于 X(时间刻度)- 无论您点击图表中的哪个位置,它总是返回最后一个值。

我可能做错了什么?

最佳答案

这段代码实际上工作正常。唯一的问题是我正在查看 moment 对象的 _i 值以检查它的值(这是在创建对象时用作初始输入的值,不一定是当前值)。

将 console.log 行更改为以下内容会产生预期/正确的结果:

console.log(event.offsetX, valueX.format('YYYY-MM-DD HH:mm:ss'), null, event.offsetY, valueY);

关于javascript - ChartJS v2 : Scale value at click coordinates (time scale),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37141313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com