Отображать метку данных всегда в первой видимой точке - PullRequest
0 голосов
/ 05 февраля 2019

На моем графике старших графиков я использую

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

, чтобы установить новый временной диапазон xAxis для «увеличения» данных.Я хочу, чтобы метка данных всегда отображалась в первой видимой точке данных.Как я могу получить первую точку обновления xAxis и отобразить там метку данных?

enter image description here

1 Ответ

0 голосов
/ 05 февраля 2019

В событии 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...