0

我正在寻找一种在将单个系列标签悬停在任何图表中时更改其值(或格式)的方法。

目前我只能访问整个轴,我找不到单个标签的getter方法来附加一个监听器。

xAxis.labels().listen('mouseOver', function(e) {
    console.log(this, e.target);
});

据我所知,这个 jsfiddle (参见控制台日志),以及 event.target 引用整个轴而不是标签:

https://jsfiddle.net/robstarbuck/pbhd4b7L/9/

4

3 回答 3

1

确实,缓存和 format() 函数有一个小错误,我们的开发团队已修复,所以请检查工作示例:

var labelIndex = e.labelIndex;
var label = this.getLabel(labelIndex);
var value = xAxis.scale().ticks().get()[labelIndex];
label.format(value * 2);

https://jsfiddle.net/pbhd4b7L/13/ - 它还展示了如何使用刻度值:

目前它从分支中获取 js,但此修复将包含在即将发布的版本中 - 7.14.0 版本(ETA:2017 年 5 月)

于 2017-05-04T08:06:57.423 回答
1

我们的 API 在这里有点复杂,但我们正在努力改进它。这是你要找的吗?

    var labelIndex = e.labelIndex;
    var label = this.getLabel(labelIndex);
    label.fontColor('red');
    label.draw();

https://jsfiddle.net/pbhd4b7L/10/

于 2017-04-29T02:49:18.417 回答
0

此问题已在 7.14.0 版本中修复,请使用以下代码:

  xAxis.labels().listen('mouseOver', function(e) {
    var labelIndex = e.labelIndex;
    var label = this.getLabel(labelIndex);
    var value = xAxis.scale().ticks().get()[labelIndex];
    label.format(value * 2);
    label.fontColor('red');
    label.draw();
  });

最新版本:https ://jsfiddle.net/2t08ahkg/3/

于 2017-05-31T09:00:34.653 回答