有没有办法在 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.pos
与 point.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
我正在渲染高图甘特图并想修改 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.pos
与 point.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