Dynamic Bar chart with constant dataPointWidth and increase chart height accordingly which adds scrollbar - CanvasJS JavaScript Charts

Dynamic Bar chart with constant dataPointWidth and increase chart height accordingly which adds scrollbar - 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", {	
	dataPointWidth: 30,
	data: [
	{
		type: "bar",
		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();
handleChartHeight(chart);
     
var xVal = chart.data[0].dataPoints[chart.data[0].dataPoints.length - 1].x + 10;
var yVal = 70;	
var updateInterval = 2000;

var updateChart = function () {
    yVal = yVal +  Math.round(5 + Math.random() *(-10-10));
    chart.options.data[0].dataPoints.push({x: xVal,y: yVal});

    xVal+=10;
    chart.render();
    handleChartHeight(chart)
};

setInterval(function(){updateChart()}, updateInterval); 

function handleChartHeight(chart){    
    var dpsWidth = 30;
    var plotAreaHeight = chart.axisX[0].bounds.height;
    var chartHeight = plotAreaHeight + (2.5 * dpsWidth);
    chart.options.dataPointWidth = dpsWidth;
    chart.options.height = chartHeight;
}