Tengo un Highchart simple con un conjunto de datos de hasta 1000 datos. Solo hay valores de y, los valores de x se generan automáticamente. Además, los valores provienen de mi servidor nodejs, así que no se sorprenda con la notación. Ahora quiero 3 valores especiales cuyos valores x e y se sepa que están resaltados. De qué manera no importa por ahora. Una posibilidad sería mostrar el punto en la ubicación, de lo contrario no se muestran. El problema que tengo es que no se como controlar un punto en especifico.
var chart1 = new Highcharts.Chart({ chart: { renderTo: 'chart-emg1', type: 'line' }, title: { text: 'EMG 1' }, xAxis: { tickInterval: 1 }, yAxis: { title: { text: 'Voltage'} }, series: [{ data: [<%-data1 %>] }] });Puede usar el evento de load y actualizar puntos específicos. Por ejemplo:
events: { load: function() { this.series[0].points.forEach(point => { const isPointToHighlight = pointsToHighlight.some( p => px === point.x && py === point.y ); if (isPointToHighlight) { point.update({ color: 'red', marker: { enabled: true } }, false); } }); this.redraw(); } }Demostración en vivo: http://jsfiddle.net/BlackLabel/tLd3j78f/
Referencia API:
https://api.highcharts.com/highcharts/chart.events.load
https://api.highcharts.com/class-reference/Highcharts.Point#update