在我highcharts图表我使用
this.chart.xAxis[0].update({
min: newDateValue,
});
设置新的X轴的时间范围内的“放大”到的数据。我想在第一个可见的数据点始终显示数据标签。我怎样才能在x轴更新的第一点和呈现数据的标签呢?
在afterSetExtremes
事件中,你可以检查isInside
标志上的点和启用或禁用dataLabel
:
xAxis: {
events: {
afterSetExtremes: function() {
var series = this.chart.series,
pointFound,
i = 0;
series.forEach(function(s) {
pointFound = false;
s.points.forEach(function(p) {
if (p.isInside && !pointFound) {
p.update({
dataLabels: {
enabled: true
}
});
pointFound = true;
} else if (p.dataLabel) {
p.update({
dataLabels: {
enabled: false
}
})
}
});
});
}
}
}
现场演示:http://jsfiddle.net/BlackLabel/qv0bcr3t/
API:https://api.highcharts.com/class-reference/Highcharts.Point#update