Highcharts диапазон «клика» при загрузке с помощью jquery или addSeries при загрузке - PullRequest
0 голосов
/ 03 марта 2019

Я использую событие afterSetExtremes для получения минимальных и максимальных координат x и y. Затем я добавляю этот ряд при выборе диапазона. Проблема заключается в том, что ряд не отображается при загрузке. Простейшим решением будет симуляция выбора диапазонана графике загрузки. Возможно ли это? Если нет, возможно ли добавить эту же серию при загрузке?

xAxis: {
        events: {
  afterSetExtremes: function(e) {
    var points = e.target.series[0].points,
            minPoint = points[1],
        maxPoint = points[points.length - 1]

    if(minPoint.y < maxPoint.y)
    {
    var series_color = 'green';
    }
    else{
    series_color = 'red';
    }
    chart.addSeries({       
    data:[{x:minPoint.x,y:minPoint.y},{x:maxPoint.x,y:maxPoint.y}],
    color: series_color,
    dashStyle: 'shortdot',
    id: 'trend'
});
while(chart.series.length > 3)
{
chart.get('trend').remove();
}
  }

}
    }

См. jsfiddle, чтобы увидеть, как она работает в данный момент: http://jsfiddle.net/kd3aLp6m/

1 Ответ

0 голосов
/ 04 марта 2019

В событии load вы можете использовать метод fireEvent для запуска события afterSetExtremes.Кроме того, для повышения производительности вы можете установить для параметра redraw в addSeries metohd значение false во всех вызовах, кроме первого.

    chart: {
        ...,
        events: {
            load: function() {
                Highcharts.fireEvent(
                    this.xAxis[0],
                    'afterSetExtremes', {
                        redraw: true
                    }
                );
            }
        }
    },

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

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

https://api.highcharts.com/highcharts/chart.events.load

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

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