听取单个轴标签上的单击/悬停

时间:2017-04-27 14:58:03

标签: anychart

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

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

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

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

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

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

确实,缓存和格式()函数存在一些小问题,我们的开发团队已经修复了,所以请检查工作示例:

onRequestPermissionsResult(...)

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

目前它需要来自分支机构的js,但此修复程序将包含在即将发布的版本中 - 7.14.0版本(ETA:2017年5月)

答案 2 :(得分:0)

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

class RuleError(Exception):
    pass

def check_rule1(*args, **kwargs):
    # Fail
    raise RuleError('rule 1 failed')

def check_rule2(name, fruit='apple', *args, **kwargs):
    if name != 'bob':
        raise RuleError('rule 2 - name must be bob')

def check(to_check, *args, **kwargs):
    for f in to_check:
        try:
            f(*args, **kwargs)
        except RuleError as e:
            # do something meaningful or re-raise... etc...
            print(e)
            return False
        else:
            return True

passes_checks = check([check_rule1, check_rule2], 'something', name='bob')

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