JSFiddle - React, Tailwind, and code Playground
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"></div>
JavaScript
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Column Chart"
},
width: convertMillimeterToPixel(100), //Chart Width set to 100mm
height: convertMillimeterToPixel(100), //Chart Height set to 100mm
axisY: {
includeZero: true,
gridThickness: 0,
suffix: 'mm',
labelFormatter: function(e) {
return Math.round(e.value / 3.7795);
}
},
toolTip: {
contentFormatter: function ( e ) {
return (e.entries[0].dataPoint.y / 3.7795);
}
},
data: [{
showInLegend: true,
legendText: "Scale: 1mm on Chart = 2mm in Real-World",
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 }
]
}]
});
/* Considering all y-values passed to be in millimeters & converting the same to pixels - as chart renders chart in pixels */
for (var i = 0; i < chart.options.data[0].dataPoints.length; i++) {
var yValue = chart.options.data[0].dataPoints[i].y;
chart.options.data[0].dataPoints[i].y = convertMillimeterToPixel(yValue);
}
chart.render();
function convertMillimeterToPixel(mm) {
return (mm * 3.7795);
}