I have a Chart.js 2.9.4 line chart (same problem with latest 3.5.1 version) and I want to set yAxis min\max via afterDataLimits callback (because I need to calculate axis max and min in runtime, basing on values in datasets):
var data = {
labels:["0","1","2"],
datasets: [{
lineTension: 0,
fill: false,
data: [0, 10, 4]
}]
};
var options = {
animation: false,
scales: {
yAxes: [{
afterDataLimits: function (axis) {
//Setting axis min\max via callback - yAxis is -2 -> 12
axis.max = 10.5;
axis.min = -0.5;
},
ticks: {
//Setting axis min\max via options - yAxis is -0.5 -> 10.5
//min: -0.5,
//max: 10.5
}
}]
}
};
var ctx = document.getElementById("chart");
var myChart = new Chart(ctx, {
type: 'line',
data: data,
options: options
});
<div id="chartDiv"><canvas id="chart"></canvas></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.bundle.min.js"></script>
Setting axis min\max via options is working correctly (yAxis is -0.5 -> 10.5):

Setting axis min\max via afterDataLimits callback is working incorrectly (yAxis is -2 -> 12):
