显示数据的第一个可见点始终标签

问题描述 投票:0回答:1

在我highcharts图表我使用

this.chart.xAxis[0].update({
      min: newDateValue,
    });

设置新的X轴的时间范围内的“放大”到的数据。我想在第一个可见的数据点始终显示数据标签。我怎样才能在x轴更新的第一点和呈现数据的标签呢?

enter image description here

highcharts
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.