Highcharts horizontal scroll

author(s): Torstein Hønsi

by b_g_v

HTML

<!--<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>-->
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<div id="container" style="height: 400px"></div>
<div id="report"></div>

JavaScript

// create the chart
Highcharts.chart('container', {
  chart: {

    events: {
      selection: function(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 {
// create the chart
Highcharts.chart('container', {
    chart: {
   
        events: {
            selection: function (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'
    },
    
    
    xAxis: {
        min: 0,
        max:9,
    
        categories: ['Subject1','Subject2','Subject3','Subject4','Subject5','Subject6','Subject7','Subject8','Subject9',
                    'Subject10','Subject11','Subject12','Subject13','Subject14','Subject15','Subject16','Subject17',
                    'Subject18','Subject19','Subject20','Subject21','Subject22','Subject23','Subject24','Subject25',
                   ...