Получить текущие данные видимого графика после прокрутки - PullRequest
0 голосов
/ 27 июня 2019

Я использую HighCharts HighStock в собственном приложении и пытаюсь получить текущие видимые данные диаграммы, чтобы обновить всплывающую подсказку с последними видимыми данными. У меня уже есть последнее значение при загрузке, так как это последнее значение массива данных, но мне не удается получить значение после прокрутки.

events: {
      render() {
        const chart = this;
        points = [];


        Highcharts.each(chart.series, (s) => {
          if (s.visible) {
            const lastPoint = s.points[s.points.length - 1];

            if (lastPoint.y === null) lastPoint.y = 0;
            points.push(lastPoint);
          }
        });
        chart.tooltip.refresh(points);
      },

1 Ответ

0 голосов
/ 27 июня 2019

Вы можете использовать метод Highcharts.find и установить флажок isInside в пунктах.Если вы хотите избежать точек из навигатора, установите флажок isInternal в серии.Вы также должны сбросить состояние ранее пойманных точек:

chart: {
    events: {
        render() {
            const chart = this,
                lastPoints = chart.lastPoints,
                points = [];

            if (lastPoints && lastPoints.length) {
                lastPoints.forEach(function(lastPoint) {
                    lastPoint.setState('');
                });
            }

            Highcharts.each(chart.series, (s) => {
                if (s.visible && !s.options.isInternal) {

                    points.push(Highcharts.find(
                        s.points.slice().reverse(),
                        function(p) {
                            return p.isInside ? true : false;
                        }));
                }
            });

            chart.lastPoints = points;
            chart.tooltip.refresh(points);
        }
    }
}

Демонстрация в реальном времени: http://jsfiddle.net/BlackLabel/xwgs13r6/

Справочник по API:

https://api.highcharts.com/class-reference/Highcharts.Point#setState

https://api.highcharts.com/class-reference/Highcharts#.find

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