JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 360px; width: 100%;"></div>

JavaScript

var dataPointCounter = 0;
var chart = new CanvasJS.Chart("chartContainer", {
  zoomEnabled: true,
  title: {
    text: "Zooming Chart with Mouse Scroll"
  },
  rangeChanged: function(e) {
    if(e.trigger === "reset"){
      e.chart.options.axisX[0].viewportMinimum = null;
      e.chart.options.axisX[0].viewportMaximum = null;
      e.chart.render();
    }
  },
  data: [
    {
      type: "column",
      dataPoints: [
        { x: 10, y: 71 },
        { x: 20, y: 55 },
        { x: 30, y: 50 },
        { x: 40, y: 65 },
        { x: 50, y: 95 },
        { x: 60, y: 68 },
        { x: 70, y: 28 },
        { x: 80, y: 34 },
        { x: 90, y: 14 }
      ]
    }					
  ]
});

chart.render();

document.getElementsByClassName("canvasjs-chart-canvas")[1].addEventListener("wheel", function(e){
  e.preventDefault();

  if(e.clientX < chart.plotArea.x1 || e.clientX > chart.plotArea.x2 || e.clientY < chart.plotArea.y1 || e.clientY > chart.plotArea.y2)
    return;

  var axisX = chart.axisX[0];
  var viewportMin = axisX.get("viewportMinimum"),
      viewportMax = axisX.get("viewportMaximum"),
      interval = axisX.get("minimum");

  var newViewportMin, newViewportMax;

  if (e.deltaY < 0) {
    newViewportMin = viewportMin + interval;
    newViewportMax = viewportMax - interval;
  }
  else if (e.deltaY > 0) {
    newViewportMin = viewportMin - interval;
    newViewportMax = viewportMax + interval;
  }

  if(newViewportMin < chart.axisX[0].get("minimum"))
    newViewportMin = chart.axisX[0].get("minimum");

  if(newViewportMax > chart.axisX[0].get("maximum"))
    newViewportMax = chart.axisX[0].get("maximum");

  if((newViewportMax - newViewportMin) > (2 * interval)){
    dataPointCounter = 0;
    for ( var i = 0; i < chart.options.data[0].dataPoints.length; i++ ){
      if(chart.options.data[0].dataPoints[i].x > newViewportMin && chart.options.data[0].dataPoints[i].x < newViewportMax){
        dataPointCounter++;
      }
    }
    if(dataPointCounter > 3){
     ...