javascript - example - Highcharts: desencadenar manualmente el evento de desplazamiento en un punto
highcharts title (4)
Cuando se desplaza sobre un punto en un gráfico de Highcharts, obtiene un bonito círculo bajo su cursor (u otro símbolo). Lo que me gustaría hacer para activar manualmente ese efecto de desplazamiento.
Sé que puedo activar manualmente el evento mouseOver en el punto, pero eso no me da el símbolo ampliado en la tabla que estoy buscando.
Encontré la respuesta mirando la fuente: llamada "setState (''hover''); en el punto en el que desea ser resaltado.
Este es un ejemplo de cómo seleccionar (desplazar) el último punto válido de la serie mediante programación:
// 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
Para dar una respuesta más directa (por ejemplo, para entonces no tiene acceso a la instancia de highcharts):
debe crear un evento de mouseover y asignarle los atributos adecuados de pageX y pageY antes de activarlo.
Sólo para agregar una información importante:
Para StockChart esta solución no funciona:
En jsfiddle.net/xW2MW tienes que reemplazar esto:
chart.tooltip.refresh(chart.series[0].data[i]);
a esto:
chart.tooltip.refresh([chart.series[0].points[i]]);
Una posible solución está disponible here .