Column chart with constant dataPointWidth and increase chart width accordingly which adds scrollbar - CanvasJS JavaScript Charts
Column chart with constant dataPointWidth and increase chart width 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", {
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();
handleChartWidth(chart);
var xVal = chart.data[0].dataPoints[chart.data[0].dataPoints.length - 1].x + 10;
var yVal = 70;
var updateInterval = 1000;
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();
handleChartWidth(chart)
};
setInterval(function(){updateChart()}, updateInterval);
function handleChartWidth(chart){
var dpsWidth = chart.get("dataPointWidth");
var plotAreaWidth = chart.axisX[0].bounds.width;
var chartWidth = plotAreaWidth + (1.9 * dpsWidth);
chart.options.dataPointWidth = dpsWidth;
chart.options.width = chartWidth;
}