IntervalType depending on zoom level- CanvasJS

IntervalType depending on zoom level

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 axisXOption = {      
            intervalType:"month",
            labelAngle: -50
        };
        
var chart = new CanvasJS.Chart("chartContainer",
    {
    	zoomEnabled: true,
     	rangeChanging: intervalTypeChanger,
        title: {
            text: "IntervalType  depending on zoom level"               
        },
        axisX: axisXOption,
        
      data: [{ 
        		type: "line" ,
                dataPoints : dataGenerator(new Date("2012,10,1"), 24 * 365)
          }]
});
chart.render();


function intervalTypeChanger(e) {
				var hours=1000*60*60;
        if(e.trigger === "reset") {
        		e.chart.options.axisX.intervalType = null;
        }
        else if(e.trigger === "zoom") {
          //Hour (Comparing Hours)
          if((((e.axisX[0].viewportMaximum -  e.axisX[0].viewportMinimum)/(hours))<24)) {
            e.chart.options.axisX.intervalType = "hour";
          }
          //Day (Comparing Days)
          else if(((e.axisX[0].viewportMaximum -  e.axisX[0].viewportMinimum)/(hours*24))<7) {
            e.chart.options.axisX.intervalType = "day";
          }         
          //Month (Comparing Months)
          else if(((e.axisX[0].viewportMaximum -  e.axisX[0].viewportMinimum)/(hours*24*30))<30) {
            e.chart.options.axisX.intervalType = "month";
          }
          //Year (Comparing Years)
          else if(((e.axisX[0].viewportMaximum -  e.axisX[0].viewportMinimum)/(hours*24*30*30))<12) {
            e.chart.options.axisX.intervalType = "year";
          }
      }
      console.log(e.chart.options.axisX.intervalType)
  }

function dataGenerator(startX,limit) {
    var y = 0;
    var points = [];
   // for (var i = 0; i < limit; i += 1) {
        y += (Math.random() * 10 - 5);
        points.push({
            x: new Date(2018,1,1),
            y:1
        });
        points.push({
            x: new Date(2018,1,2),
            y:2
        });
        points.push({
            x: new Date(2018,1,3),
            y:3
 ...