Column Chart showing Upper and Lower Values - CanvasJS JavaScript Charts

Column Chart showing Upper and Lower Values - 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="chartGender" style="height: 360px; width: 100%;"></div>

JavaScript

var dataSet = [{ x: 10, y: 71, position: "upperValue", label: "13-17" },
               { x: 20, y: 55, position: "upperValue", label: "18-24" },
               { x: 30, y: 55, position: "upperValue", label: "25-34" },
               { x: 40, y: 65, position: "upperValue", label: "35-44" },
               { x: 50, y: 95, position: "upperValue", label: "45-54" },
               { x: 60, y: 95, position: "upperValue", label: "55-64" },
               { x: 70, y: 65, position: "upperValue", label: "65" },

               { x: 10, y: 51, position: "lowerValue", label: "13-17" },
               { x: 20, y: 95, position: "lowerValue", label: "18-24" },
               { x: 30, y: 20, position: "lowerValue", label: "25-34" },
               { x: 40, y: 85, position: "lowerValue", label: "35-44" },
               { x: 50, y: 85, position: "lowerValue", label: "45-54" },
               { x: 60, y: 85, position: "lowerValue", label: "55-64" },
               { x: 70, y: 15, position: "lowerValue", label: "65" }];

var chartGender = new CanvasJS.Chart("chartGender",{
  animationEnabled: true,
  theme: "light2",
  axisX: {
    interval: 10,
  },
  axisY: {
    labelFormatter: function(e) {
      if (e.value < 0)
        return label = -1 * e.value;
      else
        return label =  e.value;
    }
  },
  toolTip:{
    contentFormatter: function ( e ) {
      if( e.entries[0].dataPoint.y < 0)
        return e.entries[0].dataPoint.x + ": " + -1 * e.entries[0].dataPoint.y ;
      else
        return e.entries[0].dataPoint.x + ": " + e.entries[0].dataPoint.y ;
    }},
  data: [
    {
      type: "column",
      dataPoints: []
    }
  ]
});

for( var i = 0; i < dataSet.length; i++ )
  if( dataSet[i].position === "lowerValue")
    chartGender.options.data[0].dataPoints.push({ x:dataSet[i].x, y: (-1 * dataSet[i].y), label: dataSet[i].label, color: "#229DA0"});
  else
    chartGender.options.data[0].dataPoints.push({ x:dataSet[i].x, y: (dataSet[i].y), label: dataSet[i].label, color:...