Dynamically changing dateTime axis labels on zoom - CanvasJS JavaScript Charts

Dynamically changing dateTime axis labels on zoom - CanvasJS JavaScript Charts

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<span id="chart-range-links"><a class="chartupdate" data-minimum="1.9" data-years="1" href="#">Show 1 year</a> | <a class="chartupdate" data-minimum="1.9" data-years="2" href="#">Show 2 years</a> | <a class="chartupdate" data-minimum="1.9" data-years="3" href="#">Show 3 years</a> | <a class="chartupdate" data-minimum="1.9" data-years="5" href="#">Show 5 years</a> | <a class="chartupdate" data-minimum="0" data-years="0" href="#">Show Max</a></span>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="copperChartContainer" style="height: 360px; width: 100%;"></div>

JavaScript

if (jQuery('#copperChartContainer').length) { 
  var originalTitle = '';
  var axisXOption = {      
    valueFormatString: "MMM DD YYYY" ,
    labelAngle: -90,
    gridColor: "silver",
    tickColor: "silver",
    tickThickness: 1,
    gridThickness: 1,
    labelFontColor: '#000',
    titleFontColor: '#000',
    interval: 1,
    intervalType: "month"
  };
  drawchart(1.9,1);
		
  function drawchart(minimum, years) {
    if (years == 0) {
      axisXOption.intervalType = 'year';
      axisXOption.interval = 3;
    } else if (years == 1 || years == 2) {
      axisXOption.intervalType = 'month';
      axisXOption.interval = 1;
    } else if (years == 3) {
      axisXOption.intervalType = "month";
      axisXOption.interval = 3;
    } else if (years == 5) {
      axisXOption.intervalType = "month";
      axisXOption.interval = 6;
    }

   window.chart = new CanvasJS.Chart("copperChartContainer",{
      zoomEnabled: true,
      animationEnabled: true, 
      rangeChanging: dateTimeFormatter,
      axisX: axisXOption,
      axisY:{
        valueFormatString:"0.00",
        prefix: "$",
        // minimum: minimum,
        title: 'Copper COMEX Price ($/lb)',
        titleFontColor: '#FFF',
        titleFontSize: 28,
        color:"#FFF",
        titleFontFamily: 'acumin-pro-condensed, arial, sans-serif',
        titleMargin: 30,
      },
      axisY2:{
        valueFormatString:"0.00",
        prefix: "$",
        minimum: minimum,
        title: 'Copper COMEX Price ($/lb)',
        titleFontSize: 18,
        titleFontFamily: 'acumin-pro-condensed, arial, sans-serif',
        titleMargin: 30,
      },

      data: [{ 
        type: "line",
        yValueFormatString: "$#.000",
        axisYType: "secondary",
        color:"#B5682A",
        dataPoints : getdata(years)
      },{}]
    });
    chart.render();
  } //drawchart()

    function dateTimeFormatter(e) {
      var hours=1000*60*60;
      if(e.trigger === "reset") {
        axisXOption.valueFormatString = null;
...