Highcharts - событие запуска курсора вручную на точке - программирование
Подтвердить что ты не робот

Highcharts - событие запуска курсора вручную на точке

Когда вы наводите курсор на точку в диаграмме Highcharts, вы получаете красивый увеличенный круг под курсором (или другим символом). То, что я хотел бы сделать вручную, запускает эффект зависания.

Я знаю, что могу вручную запускать событие mouseOver в точке, но это не дает мне увеличенного символа на графике, который я собираюсь сделать.

4b9b3361

Ответ 1

Я нашел ответ, посмотрев на источник - вызов "setState (" hover "); на том, что вы хотите выделить.

Ответ 2

Просто добавьте важную информацию:

Для StockChart это решение не работает:

В этот пример вы должны заменить это:

chart.tooltip.refresh(chart.series[0].data[i]);

:

chart.tooltip.refresh([chart.series[0].points[i]]);

Возможное решение доступно здесь.

Ответ 3

Чтобы дать более прямой ответ (например, если у вас нет доступа к экземпляру highcharts):

вам нужно создать событие mouseover и дать ему соответствующие атрибуты pageX и pageY, прежде чем запускать его.

Ответ 4

Вот пример того, как программно выбрать (наведите) последнюю действительную точку последовательно:

  // Find last not-null point in data
  let last = data.indexOf(null) - 1;
  last = (last === -2) ? data.length - 1 : last;
  const lastPoint = this.series[0].points[last];

  // Trigger the hover event 
  lastPoint.setState('hover');
  lastPoint.state = '';  // You need this to fix hover bug
  this.tooltip.refresh(lastPoint); // Show tooltip

Полный JSFiddle exapmle

введите описание изображения здесь