Ответ 1
Я нашел ответ, посмотрев на источник - вызов "setState (" hover "); на том, что вы хотите выделить.
Когда вы наводите курсор на точку в диаграмме Highcharts, вы получаете красивый увеличенный круг под курсором (или другим символом). То, что я хотел бы сделать вручную, запускает эффект зависания.
Я знаю, что могу вручную запускать событие mouseOver в точке, но это не дает мне увеличенного символа на графике, который я собираюсь сделать.
Я нашел ответ, посмотрев на источник - вызов "setState (" hover "); на том, что вы хотите выделить.
Просто добавьте важную информацию:
Для StockChart это решение не работает:
В этот пример вы должны заменить это:
chart.tooltip.refresh(chart.series[0].data[i]);
:
chart.tooltip.refresh([chart.series[0].points[i]]);
Возможное решение доступно здесь.
Чтобы дать более прямой ответ (например, если у вас нет доступа к экземпляру highcharts):
вам нужно создать событие mouseover и дать ему соответствующие атрибуты pageX и pageY, прежде чем запускать его.
Вот пример того, как программно выбрать (наведите) последнюю действительную точку последовательно:
// 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