有没有办法在 y 轴标签的格式化程序函数中获取点信息?

Is there a way to get the point information inside formatter function of y aixs label?

我正在渲染高图甘特图并想修改 y 轴标签

在标签的格式化程序函数中,我得到的点是未定义的,想知道如何获取该信息

yAxis: {
    useHTML: true,
    labels: {
        formatter: function() {
            console.log(this);
            return `
            <a class="left">
                <strong> ${this.value} </strong> 
                <br/> 
                <i>Job Type</i>
            </a>`;
        }
    }
}

formatter函数被多次调用,第一次调用时点不存在。但是,您可以在以后的调用中通过 this.chart.series[X].points 获得积分,并将 this.pospoint.y:

进行比较
yAxis: {
    labels: {
        useHTML: true,
        formatter: function() {
            var seriesPoints = this.chart.series[0].points,
                points,
                result = '<a class="left"><strong>',
                pos = this.pos;

            if (seriesPoints) {
                points = seriesPoints.filter(function(p) {
                    return p.y === pos;
                });

                points.forEach(function(p) {
                    result += p.name + '<br/>'
                });

                result += '</strong><i>Job Type</i></a>'

                return result
            }
        }
    }
}

现场演示: https://jsfiddle.net/BlackLabel/sa0ykrpn/

API参考:https://api.highcharts.com/gantt/yAxis.labels.formatter