Skip to content Skip to sidebar Skip to footer

Highcharts - Manually Trigger Hover Event On A Point

When you hover over a point in a Highcharts chart, you get a nice enlarged circle under you cursor (or other symbol). What I would like to do manually trigger that hover effect. I

Solution 1:

I found the answer by looking at the source - call "setState('hover');" on the point that you want to be highlighted.

Solution 2:

Just to add an important information:

For StockChart this solution doesn't work:

In this example you have to replace this:

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

to this:

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

One possible solution is available here.

Solution 3:

Here is an example of how to select (hover) the last valid point in series programmatically:

// 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 bugthis.tooltip.refresh(lastPoint); // Show tooltip

Full JSFiddle exapmle

enter image description here

Solution 4:

To give a more direct answer (e.g. for then you don't have access to the highcharts instance):

you need to create a mouseover event and give it proper pageX and pageY attributes before you trigger it.

Post a Comment for "Highcharts - Manually Trigger Hover Event On A Point"