Reading extremes from event

by kzoon

HTML

<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="container" style="height: 500px"></div>

JavaScript

const chart = Highcharts.chart('container', {
  chart: {
    type: 'line',
    zoomType: 'y'
  },
  yAxis: {
    max: 295,
    min: 0,
    //min: -10,
    events: {
      afterSetExtremes: doAfterSetExtremes
    }
  },

  xAxis: {
    categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
  },
  series: [{
    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
  }]
});

var lbl;

function doAfterSetExtremes(e) {

  if (lbl) {
    lbl.destroy();
  }


  lbl = chart.renderer.label(
      'dataMax: ' + e.dataMax + '<br/>' +
      'dataMin: ' + e.dataMin + '<br/>' +
      'max: ' + e.max + '<br/>' +
      'min: ' + e.min + '<br/>' +
      'userMax: ' + e.userMax + '<br/>' +
      'userMin: ' + e.userMin + '<br/>',
      100,
      100
    )
    .attr({
      fill: '#FCFFC5',
      zIndex: 8
    })
    .add();

}




// the button action
/* document.getElementById('button').addEventListener('click', e => {
  if (lbl) {
    lbl.destroy();
  }
  var extremes = chart.yAxis[0].getExtremes();

  this.lbl = chart.renderer.label(
      'dataMax: ' + extremes.dataMax + '<br/>' +
      'dataMin: ' + extremes.dataMin + '<br/>' +
      'max: ' + extremes.max + '<br/>' +
      'min: ' + extremes.min + '<br/>' +
      'userMax: ' + extremes.userMax + '<br/>' +
      'userMin: ' + extremes.userMin + '<br/>',
      100,
      100
    )
    .attr({
      fill: '#FCFFC5',
      zIndex: 8
    })
    .add();

  //e.target.disabled = true;
}); */