Highcharts Demo

author(s): Torstein Hønsi

by Black Label

HTML

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

<div id="container" style="height: 400px"></div>
<div id="report"></div>
<button id="button" class="autocompare">Update first point</button>
<button id="redraw">Redraw</button>

JavaScript

// create the chart
const chart = Highcharts.chart('container', {
  chart: {
    events: {
      redraw: function() {
        let chart = this;
        console.log(chart);
        chart.xAxis[0].userMax = 8;
        chart.xAxis[0].userMin = 2;
      },
      selection: function(event) {
        console.log(event);
        var text,
          label;
        if (event.xAxis) {
          text = 'min: ' + Highcharts.numberFormat(event.xAxis[0].min, 2) + ', max: ' + Highcharts.numberFormat(event.xAxis[0].max, 2);
        } else {
          text = 'Selection reset';
        }

        label = this.renderer.label(text, 100, 120)
          .attr({
            fill: Highcharts.getOptions().colors[0],
            padding: 10,
            r: 5,
            zIndex: 8
          })
          .css({
            color: '#FFFFFF'
          })
          .add();

        setTimeout(function() {
          label.fadeOut();
        }, 1000);
      }
    },
    zoomType: 'x'
  },
  title: {
    text: 'Chart selection demo'
  },
  subtitle: {
    text: 'Click and drag the plot area to draw a selection'
  },
  series: [{
    type: 'column',
    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]
  }, {
    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].reverse()
  }]
});

// button handler
document.getElementById('button').addEventListener('click', () => {

  chart.xAxis[0].update({
    userMax: 8,
    userMin: 2
  }, true);
});
document.getElementById('redraw').addEventListener('click', () => {
  chart.redraw();
});