Displaying axisX labels in viewport range - CanvasJS JavaScript Charts

Displaying axisX labels in viewport range - CanvasJS JavaScript Charts

by canvasjs

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<br/>
<!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>

JavaScript

var chart = new CanvasJS.Chart("chartContainer", {
  zoomEnabled: true,
  rangeChanged: function(e) {
    console.clear();
    var viewportMin = Math.floor(e.axisX[0].viewportMinimum);
    var viewportMax = Math.ceil(e.axisX[0].viewportMaximum);
    console.log("Axis Labels in current viewport range:");
    for (var i = 0; i < chart.options.data[0].dataPoints.length; i++) {
      if ((chart.options.data[0].dataPoints[i].x > viewportMin) && (chart.options.data[0].dataPoints[i].x < viewportMax)) {
        console.log(chart.options.data[0].dataPoints[i].label);
      }
    }
  },
  data: [{
    type: "line",
    dataPoints: [
        { label: "label 1",y: 71 },
        { label: "label 2",y: 55 },
        { label: "label 3",y: 50 },
        { label: "label 4",y: 65 },
        { label: "label 5",y: 95 },
        { label: "label 6",y: 68 },
        { label: "label 7",y: 28 },
        { label: "label 8",y: 34 },
        { label: "label 9", y: 14 }
    ]
  }]
});

chart.render();