Me gustaría obtener el punto y de un punto x dado. El punto x no será necesariamente un punto en el gráfico, puede estar entre dos puntos. el punto x es un valor constante, por lo que no se hace clic ni se selecciona
En mi caso, los puntos dados para dibujar el gráfico son los rojos, pero me gustaría obtener uno verde sabiendo el valor de x
Puede recorrer los puntos e intentar encontrar uno buscando el valor x . Si no se encuentra el punto, calcule el valor de y en función del siguiente y del anterior. El siguiente algoritmo debería funcionar bien para series de line :
const x = 3; const chart = Highcharts.chart('container', {...}); const points = chart.series[0].points; let prevX, nextX; let prevY, nextY; let y; points.forEach((point, index) => { if (point.x === x) { y = point.y; } if (point.x > x && !prevX) { nextX = point.x; prevX = points[index - 1].x; nextY = point.y; prevY = points[index - 1].y; } }); if (!y) { const xDiff = nextX - prevX; const yDiff = nextY - prevY; const unit = yDiff / xDiff; y = (x - prevX) * unit + prevY; } console.log(y);Demostración en vivo: http://jsfiddle.net/BlackLabel/uavrmLhk/